Этот шаблон использует Lua : |
Этот шаблон используется примерно на 2 540 000 страниц, или примерно на 5% всех страниц . Чтобы избежать серьезных сбоев и нагрузки на сервер, любые изменения следует тестировать на подстраницах / sandbox или / testcases шаблона или на собственной подстранице пользователя . Протестированные изменения могут быть добавлены на эту страницу одним редактированием. Обсудите изменения на странице обсуждения, прежде чем внедрять их. |
Этот шаблон используется внутри других шаблонов. Он принимает любое количество параметров и возвращает первое найденное значение, которое непусто. Если ничего не найдено, ничего не возвращается. Типичное использование выглядит так:
{{If empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
Это возвращает первый из определенных и непустых параметров logo , image и picture , в противном случае - "default.svg".
Функция по умолчанию для параметра MediaWiki не возвращает значение по умолчанию для пустых параметров. То есть, {{{logo|default.svg}}}
не возвращает «default.svg» , если шаблон был назван так: {{template|logo=}}
.
Обычный обходной путь для одного параметра:
{{#if:{{{logo|}}} |{{{logo}}} |default.svg}}
Но это становится сложным, когда нужно проверить несколько параметров:
{{#if:{{{logo|}}} |{{{logo}}} |{{#if:{{{image|}}} |{{{image}}} |{{#if:{{{picture|}}} |{{{picture}}} |default.svg}} }} }}
В этих случаях {{if empty}} дает более простой синтаксис (как указано выше):
{{if empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
Параметры, используемые с {{if empty}}, должны передаваться по конвейеру, т.е. включать символ вертикальной черты ( " | ") в качестве завершающего символа, чтобы пустые или неопределенные параметры не обрабатывались как текст и возвращались неправильно. Поэтому, например, {{{logo|}}}
, {{{image|}}}
и {{{picture|}}}
вместо того {{{logo}}}
, {{{image}}}
и {{{picture}}}
в приведенных выше примерах.
Код | Результат | |
{{if empty}} | Возвращает пустую строку. | |
{{if empty|one}} | один | Возвращает первый параметр, который не пустой. |
{{if empty|one|two}} | один | |
{{if empty|one|two|three|four}} | один | |
{{if empty||two}} | два | Первый параметр пуст / не определен, поэтому пропускается. |
{{if empty||two|three|four}} | два | |
{{if empty||two||four}} | два | |
{{if empty||||||||||ten}} | 10 | В отличие от предыдущих версий, этот шаблон больше не ограничен 9 параметрами. |
{{if empty|}} | Единственный параметр пуст или не определен, поэтому возвращает пустую строку. | |
{{if empty|||||}} | Возвращает пустую строку. | |
{{if empty|{{{1|}}}|{{{2|}}}|three}} | три | |
{{if empty|{{{1}}}|{{{2}}}|three}} | {{{1}}} | После имен первых двух параметров («1» и «2») нет вертикальных символов, поэтому первый из них возвращается как текст («{{{1}}}»). |
{{if empty|{{{logo|}}}|two}} | два | |
{{if empty|{{{logo}}}|two}} | {{{logo}}} | После имени параметра "logo" нет вертикальной черты, поэтому возвращается текст "{{{logo}}}". |
{{if empty|p=q}} | Шаблон идентифицирует параметры, которые он получает, как параметры с 1 по 9, без использования таких имен, как "p" и т. Д. |