1

Ich habe derzeit eine einfache Infobox-Vorlage, die auf einem internen MediaWiki ausgeführt wird. Ich möchte die Seiten Kategorie an die Vorlage übergeben, so dass ich eine Liste mithilfe der Kategorie Baum generieren kann.Verwenden Sie Seitenvariable als Vorlagevariable

Ist es möglich, die Vorlage Kategorie abholen haben = foo

von meinen Seiten, die bereits [[Kategorie: Foo]] haben

geschrieben auf sie?

d.h meine Vorlage Text oben auf der Seite würde einen Abschnitt wie

{{Infobox Website | Kategorie = etwas}}

um es von [[Category: Foo]] abzurufen, die ich bereits auf allen meinen Seiten habe?

Dank

Antwort

0

Es gibt keine in Magic Word für immer die Kategorien gebaut ist, aber man konnte eine parser function für die leicht erstellen und die Ausgabe verwenden, um mit z.B. die Arrays extension um herauszufinden, ob eine Seite in einer bestimmten Kategorie ist oder nicht. Dies scheint jedoch eine Menge Arbeit zu sein, um sehr wenig Arbeit zu sparen (ab und zu ein paar zusätzliche Buchstaben eingeben).

Wenn Sie einen Parser-Funktion erstellen möchten, um den Strom zu bekommen, es so einfach wie das ist:

function getCategories(&$parser, $title) { 
    // Will return a comma separated list of categories. 
    $categories = $title->getParentCategories(); 
    return implode(",", $categories); 
} 

Wenn Sie wissen, welche categoery für jede Seite zu überprüfen, können Sie auch Extension:PageInCat verwenden.

Bearbeiten: Ich sehe jetzt, dass Ihre Frage markiert ist Semantic MediaWiki. Das macht es einfach:

{{#if: 
    {{#ask:[[Category:Foo]] {{FULLPAGENAME}}|default=|}} 
    |''This page is in Category:Foo!'' 
    |''This page is not in Category:Foo. Let's add it.'' 
}}