Шаблон:Ifempty

Материал из Шайвавики
Перейти к: навигация, поиск
(i) Документация

Шаблон {{ifempty}} создан для использования в других шаблонах Википедии. Он принимает до девяти параметров и возвращает первый из них, который имеет какое-либо значение. То есть, возвращает первый из вводимых параметров, который определён (не нулевой) и не пуст. Типичный пример использования:

{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}

Предыстория

Движок MediaWiki не возвращает значение по умолчанию для пустых параметров. Таким образом, {{{logo|default.svg}}} не возвратит "default.svg", если шаблон был вызван таким образом: {{template|logo=}}.

Обычным обходом таких проблем является что-то наподобии этого:

{{#if:{{{logo|}}}| {{{logo}}} | default.svg }}

Но этот способ стаёт сложным, если вы хотите проверить несколько параметров:

{{#if:{{{logo|}}}| {{{logo}}} | {{#if:{{{image|}}} | {{{image}}} | default.svg }}}}

В этом случае вам удобнее использовать данный шаблон:

{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}

Внимание! Параметры к {{ifempty}} должны использовать палочку "|" наподобии такого: {{{logo|}}}. В другом случае {{ifempty}} быдет заполнен и возвратит строку "{{{logo}}}", если logo не будет определён.

Примеры

КодРезультатКомментарий
{{ifempty}} Возвращает пустую строку.
{{ifempty|раз}} раз Возвращает первый параметр, который определён и не пуст.
{{ifempty|раз|два}} раз
{{ifempty|раз|два|три|четыре}} раз
{{ifempty| |два}} два Первый параметр был пуст или не определён, используем второй.
{{ifempty| |два|три|четыре}} два
{{ifempty| |два| |четыре}} два
{{ifempty| | | |четыре}} четыре
{{ifempty| | | | |пять}} пять Принимаем только 4 параметра, так что в результате будет пустая строка.
{{ifempty| }} Единственный параметр пуст или не определён, возвращаем пустую строку.
{{ifempty| | | | }} Возвращаем пустую строку.
{{ifempty|{{{1|}}}|{{{2|}}}|три}} три
{{ifempty|{{{1}}}|{{{2}}}|три}} {{{1}}} Ошибка. Обратите внимание на отсутствие палочки "|" у первых двух параметров.
{{ifempty|{{{logo|}}}|два}} два
{{ifempty|{{{logo}}}|два}} {{{logo}}} Ошибка. Обратите внимание на отсутствие палочки "|" у первого параметра.


en:Template:Ifempty

Во избежание поломок страниц, использующих данный шаблон, желательно экспериментировать в своём личном пространстве.