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
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
Stelle 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
Um den Kategorienbaum in Systemnachrichten oder in der Seitenleiste zu verwenden, das heißt, um ihn als Teil der Benutzeroberfläche anstelle des Seiteninhalts zu verwenden, musst Du  auf   setzen, damit die Unterstützungsskripte mit ' jeder'' Seite verknüpft werden (normalerweise werden sie nur "auf Anfrage" verlinkt, aber diese Erkennung funktioniert nicht für Systemnachrichten). Dies funktioniert seit (Juli 2008). Wenn Du dies versuchst, ohne festzulegen, dass die Skripte eingeschlossen werden, wirst Du feststellen, dass  Klicken auf das ► keine Auswirkung hat, einen JavaScript-Fehler verursacht oder nur bei "Laden" einfriert.

In älteren Versionen von CategoryTree musst Du den Code ändern, damit dies funktioniert: Suche die Funktion  in der Datei CategoryTree.php und entferne die Bedingung, es sollte dann so aussehen:

Verwenden von JavaScript
Seit (Juli 2008) mit MediaWiki 1.13 ( rev2) kannst Du einen CategoryTree in die Seitenleiste integrieren, indem Du einfach   auf die Kategorie setzt, die Du als Stammverzeichnis verwenden möchtest. Dies funktioniert jedoch nur mit Oberflächen, die auf Überfllöchen-Vorlagen basieren, d. h. Modern, Monobook, Chick, Simple und MySkin, jedoch nicht Standard, Nostalgia oder CologneBlue.

Wenn Du in LocalSettings.php  verwendest, um Deine eigenen Wikitext-Artikel in die Seitenleiste zu verschieben, und dann CategoryTree-Elemente hinzufügst, musst Du   anpassen, um sicherzustellen, dass jede Seite funktioniert.

Wenn Du möchtest, dass sich der Kategoriebaum an einer anderen Position in der Seitenleiste befindet, kannst Du ihn in MediaWiki:Sidebar als "Kategoriebaum-Portlet" referenzieren.

Für frühere Versionen von CategoryTree und / oder MediaWiki musst du einen mod in MonoBook.php installieren, um normalen Wikitext in der Seitenleiste zu aktivieren, siehe --DJ 19:26, 24 January 2008 (UTC)

Um einen Link "CategoryTree " an Deine Toolbox anzuhängen, fügst Du der JavaScript-Seite (z. B. monobook.js) Deiner  folgenden Code hinzu. und passt die URL "w:en:Special:CategoryTree" an.

Eine allgemeinere Version dieses Codes findest du unter .

Schritt für Schritt, geht es einfach:
 * Füge diese Zeilen zu hinzu:

Anwenden von MediaWiki: Seiten des Benutzernamensraums
Wenn Du einen Link erstellen möchtest, der zum allgemeinen Kategoriebaum (angezeigt als Kategoriebaum) führt, wenn Du auf einer Nicht-Kategorieseite bist, und zu einem bestimmten Kategoriebaum (angezeigt als Als Kategoriebaum anzeigen, wobei foo der Name der angezeigten Kategorie ist), wenn Du Dich auf einer Kategorieseite befindest:
 * Füge in Deiner MediaWiki:Sidebar (rechts über SEARCH ist ein guter Ort dafür) eine Zeile hinzu,
 * Erstelle ein MediaWiki:Sidebarcategorytree mit:
 * Erstelle ein MediaWiki:Sidebarcategorytree-url mit:

Parameter auf Anfrage
Es ist möglich, die Standard-Site-Konfiguration von "mode" zu überschreiben, indem sie als URL-Parameter angegeben wird. Zum Beispiel


 * - verwende den Standardmodus
 * -verwende den Kategorienmodus
 * - verwende den Seitenmodus
 * - verwende jeden Modus
 * - verwende den übergeordneten Modus