Open main menu

Help:Функції парсера в шаблонах

This page is a translated version of the page Help:Parser functions in templates and the translation is 25% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎Zazaki • ‎dansk • ‎español • ‎français • ‎português • ‎português do Brasil • ‎русский • ‎українська • ‎العربية • ‎日本語 • ‎한국어
PD Зверніть увагу! Коли Ви редагуєте цю сторінку, то погоджуєтесь робити свій внесок під ліцензією CC0. Детальніше про умови ліцензії можна дізнатися на сторінці довідки.
PD

При застосуванні функцій синтаксичного аналізатора ParserFunctions до параметрів шаблону можна використовувати символ вертикальної риски "|" для того, щоб підставити порожню строку як значення за замовчуванням. Змінна, що має значення порожньої строки, та невизначена змінна - це різні поняття.

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
Статус параметру {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}} {{#if:<parameter>|True|False}}
Description Example, unnamed and named {{{1}}}, {{{param}}} {{{1|}}}, {{{param|}}}
невизначений:
параметр не задано,
важливо для названих параметрів
{{template}} {{{1}}} True False
визначено, але як нульовий/порожній {{template|}}, {{template|1=}}, {{template|param=}} False False
визначено
та
ненульовий і не порожній
{{template|value}}, {{template|1=value}}, {{template|param=value}} value value True True
  • {{{1}}}
Приклад A
{{#if: {{{1}}} | Параметр 1 невизначений, або визначений і не порожній/ненульовий. | Параметр 1 нульовий. Він містить лише порожні строки та пробіли.}}
Результат
Параметр 1 невизначений, або визначений і не порожній/ненульовий.
  • {{{1|}}}
Приклад B
{{#if: {{{1|}}} | Параметр 1 визначений та не порожній/ненульовий. | Параметр 1 невизначений, або визначений і нульовий: містить лише порожні строки та пробіли.}}
Результат
Параметр 1 невизначений, або визначений і нульовий: містить лише порожні строки та пробіли.

Саме другий спосіб використання ({{{1|}}}, приклад B) із заданим за замовчуванням порожнім значенням параметру найчастіше є очікуваним для ситуацій, коли параметр задано, але у вигляді порожньої строки/нульового.

Testing and passing undefined parameters

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 }}

Окремі шаблони можуть поводитися по-іншому у випадках, коли якийсь параметр не визначено чи коли його визначено як порожню строку. Якщо такий шаблон використано всередині іншого шаблону (який має той самий набір названих параметрів), один із способів гарантувати, що невизначені параметри залишаться невизначеними в батьківському шаблоні, такий (придатний також і для нумерованих параметрів):

{{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.

See also