Fandom


K (Vorlagen und Kategorien: Fehlerkorrektur)
K (if)
Zeile 101: Zeile 101:
 
</pre>
 
</pre>
   
Die im Beispiel verwendete [[Vorlage:!]] hat als Inhalt nur einen senkrechten Strich und wird hier anstatt desselben in der Tabellensyntax benutzt, damit die If-Funktion nicht durcheinanderkommt. Im Beispiel wird bei gesetztem Parameter eine Tabellenzeile mit zwei Zellen (eine zweispaltige Zeile) eingefügt, wobei der Parameterwert in der zweiten Zelle zu lesen ist.
+
Die im Beispiel verwendete [[Vorlage:!]] hat als Inhalt nur einen senkrechten Strich und wird hier anstatt desselben in der Tabellensyntax benutzt, damit die If-Funktion nicht durcheinanderkommt.
  +
  +
Im Beispiel wird bei gesetztem Parameter eine Tabellenzeile mit zwei Zellen (eine zweispaltige Zeile) eingefügt, wobei der Parameterwert in der zweiten Zelle zu lesen ist.
   
 
==== ifeq ====
 
==== ifeq ====

Version vom 19. Juni 2013, 09:57 Uhr

Hier wird beschrieben, wie man Vorlagen gestalten kann und was dabei zu beachten ist. Seiten im Vorlagennamensraum lassen sich nur in der Code-Ansicht bearbeiten. Deshalb muss man sich mit Wiki-Code auskennen. Je nachdem, was für eine Vorlage man erstellen will, braucht man eventuell Wikitext-Kenntnisse mit Tabellensyntax, Kategorien, Magic Words und Inline-CSS.

Einfache Vorlagen erstellen

Beispiele für relativ einfache Vorlagen sind Navigationsleisten. Eine Navigationsleiste ist schlicht eine Box mit ein paar Links drin. Die Box kann man mit Div-Tags erstellen und mit Inline-CSS gestalten (<div style="…">___</div>).

Vorlagen und Kategorien

noinclude erscheint nicht bei Vorlagenverwendung
onlyinclude erscheint bei Vorlagenverwendung als Einziges
includeonly erscheint nicht auf der Vorlagenseite

Wenn man eine Vorlagenseite einer Kategorie hinzufügt, dann werden auch alle Seiten, auf denen die Vorlage aufgerufen wird, zu dieser Kategorie hinzugefügt. Mittels der <noinclude>___</noinclude>-Tags kann man Text (etwa Kategorielinks) markieren, der beim Einbinden nicht angezeigt werden soll.

Als Alternative kann man den Text, der beim Einbinden als Einziges angezeigt werden soll, mit <onlyinclude>___</onlyinclude>-Tags umschließen. Diese Tags würde man somit um die gesamte Vorlage an sich setzen.

Um Text nur beim Einbinden anzuzeigen (etwa einen Kategorielink), ist dieser mit <includeonly>___</includeonly>-Tags zu versehen. So kann man erreichen, dass alle Seiten mit der Vorlage in einer Kategorie landen, ohne dass die Vorlagenseite selbst zur Kategorie hinzugefügt wird.

Parameter

Ein benannter Parameter wird mit seinem Namen in dreifach geschweiften Klammern auf die Vorlagenseite geschrieben. Unbenannte Parameter werden mit 1 beginnend nach ihrer Reihenfolge im Vorlagenaufruf durchnummeriert ebenfalls in dreifachen Klammern geschrieben. Beim Vorlagenaufruf erscheint an Stelle des Parameters der Text, mit dem der Parameter übergeben wird. Wird einem Parameter kein Wert übergeben, dann erscheint die Parametersyntax im Vorlagenaufruf.

Parameter im Beispiel

Unsere Beispielvorlage heiße Vorlage:Vorlage und habe folgenden Inhalt:
{{{1}}} ist {{{was}}}.
Vorlagenaufruf Ergebnis
{{Vorlage}} {{{1}}} ist {{{was}}}.
{{Vorlage|was=ich weiß auch nicht}} {{{1}}} ist ich weiß auch nicht.
{{Vorlage|}} ist {{{was}}}.
{{Vorlage||was=ein mit ''nichts'' übergebener Parameter}} ist ein mit nichts übergebener Parameter.
{{Vorlage|1=was|was=}} was ist .
{{Vorlage|was=knifflig|Vorlagen erstellen}} Vorlagen erstellen ist knifflig.

Ersatzwerte für Parameter

Man kann auf der Vorlagenseite Parametern einen Standardwert zuordnen, der in die Parametersyntax hinter den Namen geschrieben wird, getrennt durch einen senkrechten Strich, beispielsweise {{{1|Keine Angabe}}} oder {{{was|}}}.

Nochmal im Beispiel

Unsere Beispielvorlage heiße Vorlage:Vorlage und habe folgenden Inhalt:
{{{1|Keine Angabe}}} ist {{{was|}}}.
Vorlagenaufruf Ergebnis
{{Vorlage}} Keine Angabe ist .
{{Vorlage|was=ich weiß auch nicht}} Keine Angabe ist ich weiß auch nicht.
{{Vorlage|}} ist .
{{Vorlage||was=ein mit ''nichts'' übergebener Parameter}} ist ein mit nichts übergebener Parameter.
{{Vorlage|1=was|was=}} was ist .
{{Vorlage|was=knifflig|Vorlagen erstellen}} Vorlagen erstellen ist knifflig.

Im Beispiel (3./4. Zeile) sieht man, dass der Ersatzwert nicht gezeigt wird, wenn der Parameter mit nichts als Wert aufgerufen wird. Dieses Verhalten kann man mithilfe der Parserfunktion "if" abstellen.

Parserfunktionen

Parserfunktionen sind eine Art von Vorlagen mit unbenannten Parametern, wobei vor dem ersten Parameter ein Doppelpunkt und kein senkrechter Strich steht. Parserfunktionen sind sehr praktische Hilfsmittel beim Erstellen von Vorlagen. Hier werden nur die allergängigsten Funktionen angerissen, die komplette Liste steht auf Hilfe:Zauberwörter#Parser-Funktionen.

if

Aufruf
{{#if:___|___}} oder {{#if:___|___|___}}

Die Funktion prüft, ob der erste Parameter nicht leer ist (ob nicht nichts dort steht). Wenn ja, dann wird der zweite Parameter ausgegeben, ansonst entweder ein optionaler dritter Parameterwert oder gar nichts.

Mit der If-Funktion lassen sich Ersatzwerte für Vorlagenparameter vorgeben, die auch dann angezeigt werden, wenn der Parameter mit nichts übergeben wird. Dies sieht dann so aus:
{{#if:{{{1|}}}|{{{1}}}|Keine Angabe}}

In diesem Beispiel ist der zu prüfende Wert ein Vorlagenparameter mit leerem Ersatzwert. Es gibt drei mögliche Anwendungsfälle:

  1. Der Vorlagenparameter wird nicht aufgerufen: Dann wird der Ersatzwert (die leere Zeichenkette) von der If-Funktion gelesen, und sie gibt "Keine Angabe" zurück.
  2. Der Vorlagenparameter wird mit leerem Wert aufgerufen. => "Keine Angabe"
  3. Solange der Vorlagenparameter nicht leer übergeben wird, gibt die If-Funktion diesen Parameter zurück.
Tabellenerweiterung durch Parameter

Bei Tabellen als Vorlagen (Infoboxen) ist es oft wünschenswert, dass leer übergebene Parameter auch das Weglassen der zugehörigen Tabellenzeile bewirken. Also steckt man die komplette Zeilensyntax in die If-Funktion:

{{#if: {{{input|}}} | {{!}}-
{{!}} Input:
{{!}} {{{input}}} }}

Die im Beispiel verwendete Vorlage:! hat als Inhalt nur einen senkrechten Strich und wird hier anstatt desselben in der Tabellensyntax benutzt, damit die If-Funktion nicht durcheinanderkommt.

Im Beispiel wird bei gesetztem Parameter eine Tabellenzeile mit zwei Zellen (eine zweispaltige Zeile) eingefügt, wobei der Parameterwert in der zweiten Zelle zu lesen ist.

ifeq

Aufruf
{{#ifeq:___|___|___}} oder {{#ifeq:___|___|___|___}}

Diese Funktion prüft den ersten Parameter nicht auf Leerheit, sondern auf Gleichheit mit dem zweiten Parameter. Bei Gleichheit wird der dritte Parameter ausgegeben, ansonst ein optionaler vierter Parameter oder eben nichts.

switch

Aufruf
{{#switch: ___
 | ___ = ___
 | ___
 | ___ = ___
 | ___ = ___
 | …
 | ___
 }}

Diese Funktion ist eine Weiterführung von ifeq: Sie prüft den ersten Parameter auf Gleichheit mit dem zweiten. Bei Gleichheit wird der dritte Parameter ausgegeben, ansonst… prüft sie den ersten Parameter auf Gleichheit mit dem vierten. Bei Gleichheit wird der sechste ausgegeben, wie auch bei Gleichheit mit dem fünften (dies erspart Schreibarbeit). Und so weiter. In der letzten Zeile kann optional ein Parameter (ohne "=") eingetragen werden, der bei keinem Treffer ausgegeben wird.

Variablen

Als Prüfparameter für Parserfunktionen können nicht nur Vorlagenparameter übergeben werden, sondern zum Beispiel auch Variablen wie etwa {{PAGENAME}} (für den Namen einer Wikiseite). Variablen in Vorlagen richten sich nach der Seite aus, in der die Vorlage aufgerufen wird; {{PAGENAME}} würde also den Namen der Seite und nicht den Namen der Vorlage ausgeben.

Die Liste aller Variablen steht auf Hilfe:Zauberwörter#Variablen.

Nutzung von Community-Inhalten gemäß CC-BY-SA , sofern nicht anders angegeben.