Extension:CategoryTree/de

Die Erweiterung  'CategoryTree'  bietet eine dynamische Ansicht der Kategoriestruktur des Wikis als Baum. Es verwendet AJAX, um Teile des Baums nach Bedarf zu laden. CategoryTree wurde ursprünglich von Daniel Kinzler als externes Tool geschrieben, später aber mit Hilfe von Tim Starling in die MediaWiki-Software integriert.

Benutzung
CategoryTree kann auf drei Arten verwendet werden:
 * direkt auf den Kategorieseiten,
 * als "benutzerdefiniertes Tag" (oder "Parser-Funktion"), um eine Kategoriestruktur in einer Wiki-Seite anzuzeigen,
 * und als spezielle Seite.

Die CategoryTree-Erweiterung fügt Widgets für ► "expand" zu den in Kategorieseiten aufgelisteten Unterkategorien hinzu.

Der &lt;categorytree&gt;-Tag
Beispiel. Das Ergebnis siehst Du in der Box unten und rechts:

Das benutzerdefinierte Tag heißt &lt;categorytree&gt;. Wenn Du beispielsweise &lt;categorytree&gt;Foo&lt;/categorytree&gt; in eine Wiki-Seite einfügst, wird der Inhalt der Kategorie Foo als dynamischer Baum auf dieser Seite angezeigt (siehe Beispiel rechts). Das Tag akzeptiert die folgenden Attribute mit einer HTML-ähnlichen Syntax:


 * mode: legt fest, welche Seiten im Baum angezeigt werden. Dies kann durch die Verwendung der Option  außer Kraft gesetzt werden. Mögliche Werte sind:
 * categories: zeige nur die Unterkategorien (Konfigurationskonstante )
 * pages: zeige Unterkategorien und Seiten; außer Bildern (Konfigurationskonstante ), begrenzt auf 200 Seiten
 * all: zeige alle Seiten und Unterkategorien, Bilder usw. (Konfigurationskonstante )
 * parents: liste übergeordnete Kategorien anstelle von Unterkategorien auf (Konfigurationskonstante ). Dadurch wird der Kategorienbaum in den "inversen" Betrieb versetzt (unterstützt seit, Juli 2008).


 * depth: Legt fest, wie viele Ebenen des Baums anfangs angezeigt werden. Der Standardwert 1. 0 bedeutet nur den Stammknoten anzuzeigen. Der Maximalwert hängt vom angegebenen Modus und von der Option  ab. (Eingeführt zwischen  und, 30. März 2007; voll funktionsfähig, auch mit   seit . Juli 2008.)
 * onlyroot : Veraltet seit, Juli 2008: Verwende stattdessen.
 * hideroot: Setze dies auf "on", um den "Wurzel"-Knoten des Baums, d. h., auszublenden. Beispielsweise wird der Kategoriename Foo nicht angezeigt.
 * hideprefix: legt fest, wann das Namensraum-Präfix vor Einträgen in der Baumstruktur verborgen werden soll (seit, Juli 2008). Mögliche Werte sind:
 * always: Verstecke immer das Präfix. Sollte nur verwendet werden, wenn alle Seiten aus demselben Namensraum stammen (Konfigurationskonstante ).
 * never: Verstecke niemals das Namensraum-Präfix, auch nicht für Kategorien (Konfigurationskonstante ).
 * auto: Verberge den Namensraum von Kategorien, wenn nur Kategorien angezeigt werden, wie bei  (Konfigurationskonstante  ). Dies entspricht der alten Standardeinstellung (vor Juni 2008).
 * categories: Verberge immer den Namensraum von Kategorien, zeige jedoch alle anderen Präfixe an (Konfigurationskonstante ). Dies ist die neue Standardeinstellung (seit, Juli 2008).


 * showcount: Setze dies auf "on", um die Anzahl der Einträge in Unterkategorien anzuzeigen, d. h.  (seit, Juli 2008). Dies ist standardmäßig für Kategoriebäume deaktiviert, die auf Seiten eingeblendet sind, jedoch standardmäßig in Kategorieauflistungen und in Special: CategoryTree aktiviert.
 * namespaces: eine Liste der Namensräume, aus denen Seiten in der Baumstruktur angezeigt werden sollen (seit, Juli 2008). Die Einträge in der Liste müssen Namensraum-Namen sein, die durch Leerzeichen getrennt sind. Der Hauptnamensraum kann durch "-" oder "0" dargestellt werden. Unterkategorien werden nur angezeigt, wenn der Kategorie-Namensraum in der Liste vorhanden ist.
 * class, style, id, usw.: Der &lt; categorytree &gt; Tag unterstützt alle Standard-HTML-Attribute für Blockelemente (seit, Juli 2008; zuvor wurde nur  unterstützt).

Hinweise zu den Namensraum-Parametern
Kategorie ist ein Namensraum. Kategorien werden standardmäßig in allen Modi angezeigt. Wenn Du jedoch den Parameter  angibst, werden sie wie alle anderen in der Liste nicht vorhandenen Namensräume ausgeblendet. Wenn Du Seiten in einem bestimmten Namensraum auflisten möchtest, einschließlich Seiten in Unterkategorien, füge der Namensraumliste einfach Kategorie hinzu.

Beispiel:


 * Auflistung der wichtigsten Namensraumseiten in der Kategorie:Handbuch:


 * Auflistung der wichtigsten Namensraumseiten und der Unterkategorien in der Kategorie:Handbuch:

Der -Parameter wird von   überschrieben:
 * wenn nur die Namensraum Kategorie abgefragt wird, entspricht dies cat.
 * wenn der Dateinamensraum in der Liste vorhanden ist, wird dies  implizieren.
 * andernfalls wird  verwendet. Dies bedeutet, dass, wenn die Site-Konfiguration nicht geändert wurde, die folgenden Angaben gleichwertig sind (die ersten beiden sind immer gleichwertig, die dritte nur, wenn   die Standardeinstellung für   ist):

Die Parserfunktion
Seit (13. September 2007) kannst Du auch die Syntax der Parserfunktion verwenden, um einen Kategoriebaum auf eine Seite zu platzieren. Dies funktioniert genau wie das &lt;categorytree&gt;-Tag, wobei eine andere Syntax verwendet wird, z. B. ; Optionen können unter Verwendung der Syntax für benannte Vorlagenparameter angegeben werden, z. B..

Die Verwendung der Syntax der Parser-Funktion bietet den Vorteil, dass Du bei der Angabe der anzuzeigenden Kategorie magic words, Vorlagen und Vorlagenparameter verwenden kannst. Einige Beispiele:


 * Verwenden einer Magic Variablen zum Anzeigen des Kategoriebaums "Diese Seiten" (kann auf Kategoriebeschreibungsseiten hilfreich sein):.
 * Verwenden einer Vorlage zur Spezifikation der Kategorie:  - Der Name der Stammkategorie wird durch den Inhalt von Template:Root_category definiert.
 * Verwenden eines Vorlagenparameters um eine Kategorie zu spezifizieren, wenn CategoryTree in einer Vorlage verwendet wird:  in Template:Baz kann mit  aufgerufen werden.

Die Seite Special:CategoryTree
Die spezielle Seite heißt Special: CategoryTree; Dort kannst Du den Namen einer Kategorie eingeben und dann deren Inhalt durchsuchen.

Konfiguration
Es gibt einige Optionen, die Du in Deiner -Datei angeben kannst:


 * $wgCategoryTreeMaxChildren: maximale Anzahl der im Baum angezeigten Ergebnisse. Die Standardeinstellung ist 200.
 * $wgCategoryTreeAllowTag: aktiviere den &lt;categorytree&gt; Tag. (Standardeinstellung)
 * $wgCategoryTreeDynamicTag: lädt die erste Ebene des Baums dynamisch in ein &lt;categorytree&gt; -Tag. Auf diese Weise muss der Cache nicht deaktiviert werden. Standardeinstellung ist "deaktiviert" (false).
 * $wgCategoryTreeDisableCache: deaktiviert den Parser-Cache für Seiten mit einem &lt;categorytree&gt;-Tag oder gibt die maximale Cache-Zeit in Sekunden an. Die Standardeinstellung ist 21600 (6 Stunden).
 * $wgCategoryTreeUseCache: aktiviere HTTP-Cache für anonyme Benutzer. Standardeinstellung ist "deaktiviert" (false).
 * $wgCategoryTreeOmitNamespace : Veraltet seit, Juli 2008: Verwende stattdessen.
 * $wgCategoryTreeMaxDepth: ein Array, das die maximale Tiefe für jeden Modus definiert, bis zu der der Baum zunächst mithilfe des Tiefenparameters in einem &lt;category&gt;-Tag erweitert werden kann. Standardmäßig ist dies für den Modus "Kategorien" auf 2 und für andere Modi auf 1 festgelegt. Wenn Du beispielsweise für Kategorien den Wert 3 und für andere Modi den Wert 2 festlegen möchtest, kannst Du  verwenden.
 * $wgCategoryTreeDefaultMode: kann  (Standardeinstellung), , or   sein.
 * $wgCategoryTreeCategoryPageMode : Veraltet seit, Juli 2008: Verwende stattdessen.
 * $wgCategoryTreeForceHeaders: Wenn aktiviert (true), werden die von CategoryTree benötigten Skripten auf jeder Seite obligat geladen, statt nur auf Anforderung. Dies kann erforderlich sein, wenn ein CategoryTree auf ungewöhnliche Weise eingebettet ist, beispielsweise in eine benutzerdefinierte Oberfläche oder in eine Systemnachricht (seit, Juli 2008).
 * $wgCategoryTreeSidebarRoot: Stammkategorie zur Integration des Kategoriebaums in die Seitenleiste (seit, Juli 2008). Wenn nicht festgelegt, wird kein Baum integriert (Standardeinstellung). Das Integrieren eines CategoryTree in die Seitenleiste funktioniert nur mit Oberflächen, die auf Vorlagen basieren, wie Modern, Monobook, Chick, Simple und MySkin, jedoch nicht Standard, Nostalgia oder CologneBlue.
 * $wgCategoryTreeDefaultOptions: als Array anzuwendende Standardoptionen (seit, Juli 2008). Die verfügbaren Optionen sind oben beschrieben. Beispiel:.
 * $wgCategoryTreeCategoryPageOptions: Optionen, die auf Kategorieseiten als Array verwendet werden sollen (seit, Juli 2008).
 * $wgCategoryTreeSpecialPageOptions: Optionen, die auf Special:CategoryTree als Array verwendet werden sollen (seit, Juli 2008).
 * $wgCategoryTreeSidebarOptions: Optionen, wenn der Baum im Seitenmenü als Array sichtbar sein soll (seit, Juli 2008).

categorytree-member-num
Wenn man Unterkategorien auf einer Kategorieseite auflistet, folgt auf jede Unterkategorie standardmäßig eine Ganzzahl, die angibt, wie viele Unterkategorien darunter liegen, wie viele Seiten darin enthalten sind und wie viele Dateien in der Kategorie enthalten sind (falls zutreffend):


 * Mein Kategoriename (5 C, 2 P, 1 F)

Du kannst dieses Verhalten ändern, indem Du die Systemmeldung MediaWiki:Categorytree-member-num überschreibst. Es werden fünf Parameter benötigt:

Der Standardwert ist.

Tipp: Verwende die Erweiterung, um eine if / then / else-Logik zur bedingten Anzeige verschiedener Teile bereitzustellen. Zum Beispiel:

Eine Konfiguration zum Verwalten von Kommata und Leerzeichen bei der Ausgabe aller Informationen:

Abkürzungs-Version: 

Version Vollständiger Name: 

Wiki stürzt nach der Installation von CategoryTree ab

 * aktivieren
 * Stelle sicher, dass Du alle Dateien installiert hast
 * Stelle sicher, dass alle CategoryTree-Erweiterungsdateien den mode 644 aufweisen und das CategoryTree-Verzeichnis den Modus 755 aufweist.

Optionen in LocalSettings.php entfalten keine Wirkung

 * Stelle sicher, dass Du die Optionen eingibst, nachdem Du die Erweiterung eingegeben hast.

Das Klicken auf den ► (Schaltfläche) hat keine Auswirkung, gibt einen JavaScript-Fehler aus oder hängt sich beim Laden auf

 * Beachte, dass die Verwendung des Tags &lt;categorytree&gt; in Systemnachrichten (MediaWiki-Namensraum) möglicherweise nicht wie erwartet funktioniert - dies ist eine bekannte Einschränkung. Eine Problemumgehung findest Du weiter unten unter  CategoryTree in der Seitenleiste verwenden.
 * Stelle sicher, dass Du in Deiner LocalSettings.php  ein getragen hast,  bevor Du die Erweiterung eingeträgst.
 * Vergewissere Dich, dass Du die neueste Version der Erweiterung verwendest - der aktuelle Stand steht bei
 * Wenn Du "Regeln umschreibst" oder "Aliasing" verwendest (z. B. um "sehr kurze URLs" zu erstellen, z. B. Wikiseiten im Dokumentenstammverzeichnis oder um zu einer www-Version der angeforderten URL umzuleiten), stelle sicher, dass Du eine Ausnahme für das Erweiterungsverzeichnis vorgenommen hast, genauso wie für das Oberflächenverzeichnis. Siehe auch unten

Das Anklicken des ► gibt die Fehlermeldung keine Unterkategorien aus

 * Versuche, dies durch Hinzufügen dieses Codes zur LocalSettings.php zu beheben:

Der Browser meldet einen fehlerhaften MIME-Typ für CategoryTree.js und / oder CategoryTree.css

 * Stelle sicher, dass Dein Webserver die richtigen MIME-Typen für JS- und CSS-Dateien verwendet
 * Gib die URLs direkt in den Browser ein und prüfe, ob die Seiten überhaupt angezeigt werden und keine Fehlermeldung erscheint,  insbesondere:
 * wenn Du Regeln umformulieren oder Aliasing verwendest (z. B. um "sehr kurze URLs" - d. h. Wiki-Seiten im Dokumentenstammverzeichnis - zu haben), stelle sicher, dass Du eine Ausnahmeregel für das Erweiterungsverzeichnis hast, so wie für das Oberflächenv�erzeichnis.

Die Anzahl der Mitglieder wird falsch angezeigt, graue Pfeile ► werden anstelle von ► angezeigt
Seit MediaWiki 1.13 kann CategoryTree die Anzahl der Mitglieder einer Kategorie anzeigen und kann einen grauen Pfeil grey für Baumknoten anzeigen, die keine Inhalte basierend auf dieser Anzahl haben. Diese Informationen basieren auf der neuen -Tabelle. Das Auffüllen dieser Tabelle mit den aktuellen Werten funktioniert jedoch beim Upgrade auf 1.13 nicht immer. Führe in diesem Fall das Wartungsskript  aus, falls erforderlich mit der Option.

► ► ▼ schaltet um, was nur auf der ersten Ebene der Kategoriebaumansicht angezeigt wird
Wenn Du bei der Visualisierung des Baums nur eine Ebenentiefe erhältst, versuche, in der modules/ext.categoryTree.styles.css-Datei  nach   festzulegen.

Das JavaScript, mit dem der Tag-Stil geändert werden soll, ist irgendwie fehlerhaft.

Hinweis für Bot-Anwender
Bots und Skripte, die den HTML-Code von Kategorieseiten analysieren, können den URL-Parameter notree verwenden, um die traditionelle Ausgabe zu erzwingen. Da die HTML-Ausgabe im Allgemeinen nicht stabil ist, wird empfohlen, Dein Skript so zu ändern, dass die zum Abrufen von Kategorienlisten und Ähnlichem verwendet wird.

Die Meldung "Category Not Found" (Kategorie nicht gefunden)
Nachdem Du das CategoryTree-Plugin implementiert und den Code zum Anzeigen der Baumstruktur hinzugefügt hast, musst Du einige Inhalte zu Deinen Kategorieseiten hinzufügen, wenn die Meldung (Category Not Found) "Kategorie nicht gefunden" lautet. Die Kategorieseiten können grundsätzlich keine "roten" Seiten sein. Klicke auf die Namen Deiner Kategorien, füge Text in die Kategorieseite ein, und der Baum sollte ordnungsgemäß funktionieren.

Die nächsten 200 Links funktionieren nicht, wenn CategoryTree installiert ist
Stellen sicher, dass die richtige Version dieser Erweiterung installiert ist, entsprechend der Version von MediaWiki, die Du installiert hast. Insbesondere sind Versionen dieser Erweiterung, die für Versionen von MediaWiki vor 1.17 erstellt wurden, nicht mit MediaWiki 1.17 und höher kompatibel und verursachen Probleme, bei denen alle Paging-Links auf Kategorieseiten nicht funktionieren.

Bei Verwendung des Parameters "namespaces" werden keine Seiten angezeigt
Siehe oben.

Verwenden von CategoryTree in Systemnachrichten und benutzerdefinierten Oberflächen
To use the CategoryTree in system messages or the sidebar, that is, to use it as part of the user interface instead of page content, you have to set  to , so that the support scripts are linked on every page (normally, they are only linked "on demand", but that detection does not work for system messages). This works since (July 2008). If you try this without forcing the scripts to be included, you will find that Clicking the ► has no effect, gives a JavaScript error or just sits on loading.

In older versions of CategoryTree, you have to modify the code to make this work: find the  function in the file CategoryTree.php, and remove the condition; i.e. it should then look like this:

Using JavaScript
Since (July 2008) with MediaWiki 1.13, you can integrate a CategoryTree in the sidebar simply by setting   to the category you want to use as a root. This only works with skins based upon SkinTemplate however, that is, Modern, Monobook, Chick, Simple, and MySkin, but not Standard, Nostalgia or CologneBlue.

If you use  in LocalSettings.php to drop your own wikitext article into the Sidebar, and then add CategoryTree items to it, you'll need to set   to ensure that every page works.

If you want the CategoryTree on a different position in the sidebar, you can reference it on MediaWiki:Sidebar as "categorytree-portlet".

For earlier versions of CategoryTree and/or MediaWiki, you'll need to install a mod to MonoBook.php to enable normal wikitext in the sidebar, see --DJ 19:26, 24 January 2008 (UTC)

To append a link "CategoryTree" to your toolbox add following code to the JavaScript page (e.g. monobook.js) of your  and customize the URL "w:en:Special:CategoryTree".

A more generic version of this code can be found at.

Step by step if works easy:
 * Add these lines to :

Using MediaWiki: namespace pages
If you want to create a link that goes to the generic categorytree (displayed as Category tree) when you're on a non-category page, and to a particular categorytree (displayed as View as category tree, with foo being the name of the category you're viewing) when you're on a category page:
 * Add to your MediaWiki:Sidebar (right above the SEARCH is a good place) a line,
 * Create a MediaWiki:Sidebarcategorytree with, say:
 * Create a MediaWiki:Sidebarcategorytree-url with, say:

Parameters to request
It is possible to override the default site configuration of "mode" by providing it to as URL parameter. For example


 * - use default mode
 * - use categories mode
 * - use page mode
 * - use all mode
 * - use parent mode