Site Suche

Site menu:

 

open all | close all

 

Archiv


Ich höre gerade
@ 06.01.09 00:30:


Tangerine Dream
Mojave Plan

White Eagle

Kategorie Widget für WordPress

2. August 2007 von Lars Schenk

Für ein WordPress basiertes Projekt soll eine umfangreiche Kategorie-Liste ansprechend präsentiert werden. Eine hohe Usability soll gewährleistet sein, so dass die Kategorie-Liste eine tragende Rolle bei der Navigation durch die Beiträge einnehmen kann.

Es sind einige Plugins im Umlauf, die die integrierte Kategorie-Liste von WordPress ersetzen und z.B. um aufklappbare Ordner erweitern.

Fold Category List 1.12 - Provides PHP functions to display a folding category tree.

Dieses Tool kommt ohne Widget daher und arbeitet ohne JavaScript. Es wird also zum Aufklappen eine Kategorie immer eine neue Seite geladen.

Genau diesen Nachteil adressiert das JavaScript Animated Collapsing Categories Widget.

Diese Lösung basiert auf JavaScript - somit wird das Neuladen der Seite vermieden. Ausserdem wird ein Widget beigesteuert. Die Kompatibelität zu WordPress 2.2 scheint jedoch noch nicht gewährleistet zu sein. Der Autor schreibt dazu "NOTE Concerning WordPress 2.2: I have not upgraded my blog to 2.2 yet, and cannot speak to the compatibility of this plugin with WP2.2. If you’ve tried it, please share with me your results!" Ich habe auch Probleme mit diesem Tool unter WP2.2 @Apache2, php5 gehabt, so dass ich mich einem anderen Tool zugewendet habe:

WP-dTree

Leider ist auch hier die aktuelle WP-dTree Version 2.2 bereits etwas angestaubt (last update 10 July 2006) und wolle auf Anhieb nicht so recht mit WP 2.2 harmonieren.

WP-dTree Version 2.2 setzt auf WP-Scriptaculous auf, was vom Autoren ein Lösungsansatz ist unterschiedliche Scriptaculous Versionen zu handlen und die Installation für Scriptaculous-basierte Widgets zu vereinfachen. Ich denke aber, dass dieser zusätzliche Layer nur mehr Komplexibelität mit sich bringt, die nicht zwingend erforderlich ist. Sehr negativ finde ich auch, dass das Plugin Schreibrechte auf die .htaccess benötigt. Um den Problemen mit WP-Scriptaculous aus dem Weg zu gehen habe ich mich entschlossen auf WP-Scriptaculous zu verzichten.

Damit WP-dTree Version 2.2 auch ohne WP-Scriptaculous eingesetzt werden kann, habe ich an /wp-content/plugins/wp-dtree.php folgende Änderungen durchgeführt:

PHP:
  1. if ( !$effon ) {
  2.     update_option('wp_dtree_options', $wpdtreeopt);
  3.     echo "<div id=\"message\" class=\"updated fade\"><p>";
  4.     echo "<font color=\"red\">WP-dTree settings updated...</font><br />";
  5.     echo "</p></div>";
  6. } else /* LS change (Verzicht auf WP_Scriptaculous) | if ( get_option('wp_scriptaculous_installed') )*/ {
  7.     update_option('wp_dtree_options', $wpdtreeopt);
  8.     echo "<div id=\"message\" class=\"updated fade\"><p>";
  9.     echo "<font color=\"red\">WP-dTree settings updated...</font><br />";
  10.     echo "<font color=\"red\">Effects are active...</font><br />";
  11.     echo "</p></div>";
  12. } /* LS change (Verzicht auf WP_Scriptaculous) | else {
  13.     echo "<div id=\"message\" class=\"updated fade\"><p>";
  14.     echo "<font color=\"red\">WP-Scriptaculous plugin was not detected.</font><br />";
  15.     echo "<font color=\"red\">Disable the effect and update again or install the plugin.</font><br />";
  16.     echo "<font color=\"red\">Update failed...</font>";
  17.     echo "</p></div>";
  18. } */

In meinem Theme referenziere ich dann die erforderlichen Scriptaculous Dateien, die von WP aus mitgeliefert werden:

PHP:
  1. <!-- required for WP-dTree -->
  2. <script src="<?php bloginfo('home');?>/wp-includes/js/scriptaculous/prototype.js" type="text/javascript" language="JavaScript"></script>
  3. <script src="<?php bloginfo('home');?>/wp-includes/js/scriptaculous/scriptaculous.js?load=effects" type="text/javascript" language="JavaScript"></script>
  4. <!-- /required for WP-dTree -->

Wünschenswert wäre es übrigens, wenn hier eine AJAX basierte Lösung verfügbar wäre, da somit auch bei umfangreicheren Kategorie-Listen geringere Ladezeiten realisierbar wären.

Last but not least fehlt dem WP-dTree ein Widget so dass es statisch in das Theme eingebunden werden müsste um es zu nutzen. Ich habe mir daher ein einfaches Widget gebaut, welches als Layer um den Funktions-Aufruf für die Kategorie-Liste gelegt wird. Ich habe es lsdtree genannt und sie können es hier downloaden.

Der Beitrag wurde am Donnerstag, den 2. August 2007 um 11:35 Uhr von Lars Schenk veröffentlicht. Sie können die Kommentare zu diesen Eintrag durch den RSS 2.0 Feed verfolgen. Sie können einen Kommentar schreiben, oder einen Trackback auf Ihrer Seite einrichten.

Kategorie: Wordpress, tech-recipes
Tags: , ,
Social Bookmarks Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Digg
  • del.icio.us
  • Google Bookmarks
  • YahooMyWeb
  • Webnews
  • StumbleUpon
  • Folkd
  • Furl
  • Live-MSN
  • Slashdot
  • Y!GG
  • Bloglines
  • Technorati
  • Linkarena
  • MisterWong
  • Ask
  • Facebook
  • TwitThis

3 Reaktionen zu “Kategorie Widget für WordPress”

  1. Robbz

    Ich konnte es bisher noch nicht testen, weil ich nicht weiß, wohin ich die lsdtree.php kopieren muß :-(

  2. Lars Schenk

    Ich lege Widgets unter /wp-content/plugins/widgets ab; also einfach das ZIP entpacken. Beachte bitte aber, dass WP-dTree nicht mehr mit WP 2.3 kompatibel ist. Der Autor entwickelt das Plugin offensichtlich nicht mehr weiter. Wenn ich Zeit finde, passe ich das Plugin an die WP-API an.

  3. thebigb

    Auf wordpress.org gibt es eine Version namens WP-dTree 3.3.2 die mit WP 2.3 kompatibel ist.

Einen Kommentar schreiben