Help:Parser functions in templates/de

In Vorlagen kann den Parametern mittels Einfügung eines senkrechten Striches | ein Standardwert zugeteilt werden, der immer erscheint, wenn der Parameter bei der Einbindung der Vorlage nicht definiert wird. Beispielsweise kann man schreiben:. Dem Vorlagennutzer wird dann bei der Vorschau oder nach dem Speichern klar, dass er den Parameter noch definieren muss.

Nun kann dieser Standardwert aber auch weggelassen werden:. In diesem Fall können ParserFunctions eingesetzt werden, um festzustellen, ob bei der Einbindung einer Vorlage ein Parameter weggelassen wird oder nicht. Dann kann man in vielfältiger Weise darauf reagieren, nicht nur mit einem Warnhinweis.

Betrachten wir folgende Gegenüberstellung:


 *  


 * Beispiel A:  


 * Ergebnis: 


 *  


 * Beispiel B:  


 * Ergebnis: 


 * Vergleich

Die zweite Art ( {{{1|}}} , Beispiel B) mit leerem default-Wert, wird oft dann verwendet, wenn zwar ein Parameter exisitiert, er aber leer ist.

Ein Beispiel für einen Test, ob ein Parameter in einer Vorlage festgelegt wird:  {{#ifeq:{{{v|}}}|{{{v|-}}}| v ist festgelegt (kann auch leer sein) | v ist nicht festgelegt }} 

In seltenen Fällen kann es sein, dass sich eine Vorlage mit einem nicht festgelegten Parameter anders verhält wie wenn sie festgelegt aber leer ist. Wenn die Vorlage von einer Wrappervorlage verwendet wird, gibt es einen Weg um sicher zugehen, dass nichtdefinierte Parameter auch so bleiben (auch mit nummerierten Parametern):

{{wrapped_template| normal_parameter={{{normal_parameter|}}}| sensitive_parameter{{#ifeq:{{{sensitive_parameter|}}}|{{{sensitive_parameter|-}}}||x}}={{{sensitive_parameter|}}}| ... }}

Das wrapped_template</tt> empfängt einen definierten aber leeren normal_parameter</tt> in genau zwei Fällen:
 * Wenn der normal_parameter</tt> definiert und leer
 * Wenn der normal_parameter</tt> nichtdefiniert ist (da der Wert durch das wrapper template definiert wird.

Im Vergleich, das wrapped_template</tt> empfängt einen definierten sensitive_parameter</tt>, jedoch nur wenn er definiert ist, da #ifeq</tt> den Wert des wrapped_template</tt> Parameternamens zu « sensitive_parameterx</tt> » setzt, auch wenn sensitive_parameter</tt> nichtdefiniert ist.

Note also that wrapped_template</tt> receives a specified and empty sensitive_parameter</tt> only when the wrapper template receives a specified and empty sensitive_parameter</tt>. Of course, one must make sure the suffixed wrapped_template</tt> parameter name is meaningless to the wrapped_template</tt> for this to work properly.

Siehe auch

 * Hilfe zu ParserFunctions
 * Hilfe zu Vorlagen