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

Other languages:
العربية • ‎català • ‎Deutsch • ‎Zazaki • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎Türkçe • ‎українська
PD 注意: このページを編集すると、編集内容が CC0 のもとで公開されることに同意したと見なされます。詳細はパブリック・ドメインのヘルプ ページを参照してください。

テンプレートのパラメーターにパーサー関数を適用する際、既定値として空の文字列を指定するためにパイプ記号 (|) を使用できます。この既定値は、パラメーターを渡さない場合の対処法を示すために使用されます。 In the absence of this, an undefined parameter will not expand (i.e. will expand to {{{1}}}), which is not an empty string, and thus true.

  • {{{1}}}
サンプル A
{{#if: {{{1}}} | パラメーター 1 は未定義か、または null 以外/空以外です。 | パラメーター 1 は null であり、空の文字列または空白類などのみを含んでいます。}}
パラメーター 1 は未定義か、または null 以外/空以外です。
  • {{{1|}}}
サンプル B
{{#if: {{{1|}}} | パラメーター 1 は定義されていて、null 以外/空以外です。 | パラメーター 1 は未定義か、または定義されているものの null です。空の文字列または空白類などのみを含んでいます。}}
パラメーター 1 は未定義か、または定義されているものの null です。空の文字列または空白類などのみを含んでいます。
名前なしパラメーター 1 (1=)
名前ありパラメーター (param=)
パラメーターの条件 サンプル A:
{{#if: {{{1}}}|True|False}}
{{#if: {{{param}}}|True|False}}
サンプル B:
{{#if: {{{1|}}}|True|False}}
{{#if: {{{param|}}}|True|False}}

True False

{{template|}} .. {{template|1=}} .. {{template|param=}}
定義されているものの、null/空 False False

{{template|value}} .. {{template|1=value}} .. {{template|param=value}}
null 以外/空以外
True True

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.

テンプレート呼び出しでパラメーターが指定されていたかどうかを調べる方法の 1 つは:

{{#ifeq:{{{v|}}}|{{{v|-}}}| v が指定されました (空である可能性があります) | v は指定されませんでした }}

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):

<!-- wrapper template code -->

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

By contrast, the wrapped_template receives a specified sensitive_parameter only when it is indeed specified, because the #if changes the wrapped_template parameter name to « sensitive_parameterNULL » when sensitive_parameter is undefined.

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