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 38% complete.

Outdated translations are marked like this.
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 genauere Informationen.
PD

Bei der Anwendung von Parserfunktionen in Vorlagen-Parametern kann ein senkrechter Strich ("|") verwendet werden, um, wenn der Parameter bei der Einbindung der Vorlage nicht definiert wird, einen leeren String als Standardwert bereitzustellen und um zu zeigen wie die Dinge zu handhaben sind, wenn ein Parameter nicht definiert ist.

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
definiert
und
weder ungültig noch leer
{{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]

To distinguish a possibly empty parameter from an unspecified, one, compare it to itself using {{#ifeq:}} and different defaults. What the defaults are does not matter as long as they are different, so they are typically chosen to be short. The following all work equivalently:

{{#ifeq:{{{v|+}}}|{{{v|-}}}| v was defined (and may be empty) | v was not defined }}
{{#ifeq:{{{v|}}}|{{{v|-}}}| v was defined (and may be empty) | v was not defined }}
{{#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}}}
}}

Das wrapped_template empfängt einen definierten aber leeren normal_parameter in genau zwei Fällen:

  • Wenn der normal_parameter definiert und leer
  • Wenn der normal_parameter nicht definiert ist (da der Wert durch das wrapper template definiert wird).

Im Vergleich, das wrapped_template einen definierten sensitive_parameter empfängt, jedoch nur wenn er definiert ist, da #ifeq den Wert des wrapped_template Parameter-Namen zu « sensitive_parameterx » setzt, auch wenn sensitive_parameter nicht definiert ist.

The suffixed parameter name must be meaningless to the wrapped_template for this to work properly.

Siehe auch[edit]