Шаблон: Если пусто


Постоянно защищенный шаблон
Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Документация по шаблону [ просмотреть ] [ изменить ] [ история ] [ очистить ]

Этот шаблон используется внутри других шаблонов. Он принимает любое количество параметров и возвращает первое найденное значение, которое непусто. Если ничего не найдено, ничего не возвращается. Типичное использование выглядит так:

{{If empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
("Вернуть {{{logo |}}}, если у него есть значение; else {{{image |}}}, если оно имеет значение; else {{{изображение |}}}, если оно имеет значение; else return" default.svg ".")

Это возвращает первый из определенных и непустых параметров logo , image и picture , в противном случае - "default.svg".

Обоснование

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

Обычный обходной путь для одного параметра:

{{#if:{{{logo|}}} |{{{logo}}} |default.svg}}
("Если {{{logo}}} имеет значение, вернуть его, иначе вернуть" default.svg ".")

Но это становится сложным, когда нужно проверить несколько параметров:

{{#if:{{{logo|}}} |{{{logo}}} |{{#if:{{{image|}}} |{{{image}}} |{{#if:{{{picture|}}} |{{{picture}}} |default.svg}} }} }}
("Если {{{logo}}} имеет значение, вернуть его; иначе, если {{{image}}} имеет значение, вернуть его; иначе, если {{{изображение}}} имеет значение, вернуть его; else вернуть "default.svg". ")

В этих случаях {{if empty}} дает более простой синтаксис (как указано выше):

{{if empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}

Трубопровод

Параметры, используемые с {{if empty}}, должны передаваться по конвейеру,  т.е. включать символ вертикальной черты ( " | ") в качестве завершающего символа, чтобы пустые или неопределенные параметры не обрабатывались как текст и возвращались неправильно. Поэтому, например, {{{logo|}}}, {{{image|}}}и {{{picture|}}}вместо того {{{logo}}}, {{{image}}}и {{{picture}}}в приведенных выше примерах.

Примеры

Смотрите также