Help:Parserfunktionen in Vorlagen

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Help:Parser functions in templates and the translation is 50% complete.

Other languages:
العربية • ‎català • ‎Deutsch • ‎Zazaki • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎Türkçe • ‎українська
PD Hinweis: Wenn Du diese Seite bearbeitest, stimmst Du zu, dass Deine Bearbeitungen unter CC0 veröffentlicht werden. Siehe Public Domain Help Pages für nähere Informationen.
PD

When applying ParserFunctions to template parameters, a pipe symbol ("|") may be used to provide a default value, which is used when a parameter is not defined. Used in an #if parser function, the unexpanded text from the undefined parameter will evaluate as true, which may be an unexpected result.

Testing parameters with and without default values
Parameter {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}} {{#if:<parameter>|True|False}}
Description Example, unnamed and named {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}}
Undefiniert. Angemessener für Benutzung in benannte Parameter. {{template}} {{{1}}} True False
definiert, aber leer {{template|}}, {{template|1=}}, {{template|param=}} False False
Defined, non-empty, and non-null. {{template|value}}, {{template|1=value}}, {{template|param=value}} value value True True
  • {{{1}}}
Beispiel A
{{#if: {{{1}}} | Parameter 1 ist nicht definiert, oder er ist definiert und nicht leer. | Parameter 1 ist als leer definiert, enthält höchstens Leerzeichen oder Zeilenumbrüche. }}
Ergebnis
Parameter 1 ist nicht definiert, oder er ist definiert und nicht leer.
  • {{{1|}}}
Beispiel B
{{#if: {{{1|}}} | Parameter 1 ist definiert und nicht leer. | Parameter 1 ist nicht definiert, oder definiert, aber leer. }}
Ergebnis
Parameter 1 ist nicht definiert, oder definiert aber leer.

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

Testing and passing undefined parameters[edit]

Ein Beispiel für einen Test, ob ein Parameter in einer Vorlage festgelegt wurde, ist dies:

{{#ifeq:{{{v|}}}|{{{v|-}}}| v was defined (and may be empty) | v was not defined }}

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{{#if:{{{sensitive_parameter|}}}||NULL}}={{{sensitive_parameter}}}
}}

wrapped_template receives a defined normal_parameter in all cases. When normal_parameter is defined but empty and when it is undefined, wrapped_template receives an empty normal_parameter.

By contrast, the wrapped_template receives a defined sensitive_parameter only when it is indeed defined; when sensitive_parameter is undefined, the #if changes the parameter name to sensitive_parameterNULL. The suffixed parameter name must be meaningless to the wrapped_template for this to work properly.

Siehe auch[edit]