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

The second usage ( {{{1|}}} , sample B) with present empty default is often the desired way to handle situations where a parameter exists, but is comprised only of empty space.

One way to test whether a parameter was specified in a template call is thus:  {{#ifeq:{{{v|}}}|{{{v|-}}}| v was specified (and may be empty) | v was not specified }} 

In rare cases, a template behaves differently when a parameter is unspecified compared to when it is specified but empty. When this template is used by a wrapper template (which uses the same set of named parameters), one way to ensure undefined parameters remain undefined is as follows (the technique also works with numbered parameters):

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

Note that the wrapped_template</tt> receives a specified but empty normal_parameter</tt> in two cases: when normal_parameter</tt> is specified and empty, and when normal_parameter</tt> is unspecified (because the default empty value is then specified by the wrapper template).

By contrast, the wrapped_template</tt> receives a specified sensitive_parameter</tt> only when it is indeed specified, because the #ifeq</tt> changes the wrapped_template</tt> parameter name to « sensitive_parameterx</tt> » when sensitive_parameter</tt> is undefined. 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