Шаблон:Ifempty
Шаблон {{ifempty}} создан для использования в других шаблонах Тептар. Он принимает до девяти параметров и возвращает первый из них, который имеет какое-либо значение. То есть, возвращает первый из вводимых параметров, который определён (не нулевой) и не пуст. Типичный пример использования:
{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}
В параметрах |до=
и |после=
можно задать предшествующий и последующий текст.
Другое название этого шаблона — {{if empty}}.
Предыстория[править код]
Движок 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|||три}} | три | |
{{ifempty|{{{1}}}|{{{2}}}|три}} | {{{1}}} | Ошибка. Обратите внимание на отсутствие палочки "|" у первых двух параметров. |
{{ifempty||два}} | два | |
{{ifempty|{{{logo}}}|два}} | {{{logo}}} | Ошибка. Обратите внимание на отсутствие палочки "|" у первого параметра. |
{{ifempty|||три|до=<префикс>|после=<постфикс>}} | <префикс>три<постфикс> | Префикс и постфикс выводятся, если хотя бы один нумерованный параметр задан. |
{{ifempty||||до=<префикс>|после=<постфикс>}} |