Шаблон:Если есть шаблон
![]() | |
Шаблон {{Если есть шаблон}} проверяет отсутствие шаблона.
{{Если есть шаблон||то=|иначе=}}
Шаблон может служить как замена «дорогой» функции парсера {{#ifexist:||}}
при проверке существования страниц шаблонов.
Первый параметр — имя проверяемого шаблона. Имя можно указывать как с маленькой, так и с большой первой буквы, однако остальные буквы имени должны совпадать по регистру с проверяемым шаблоном, поскольку шаблоны с различающимся регистром букв после первой — это разные шаблоны. Если шаблон с указанным именем существует, выполняется то, если нет — выполняется иначе.
Шаблон | Код | Результат | ||
---|---|---|---|---|
{{tl}} | {{Если есть шаблон|tl|то=есть|иначе=нет}}
|
есть | ||
{{Несуществующий шаблон}} | {{Если есть шаблон|Несуществующий шаблон|то=есть|иначе=нет}}
|
нет | ||
{{Если есть шаблон}}[1] | {{Если есть шаблон|Если есть шаблон|то=есть|иначе=нет}}
|
есть |
Если в имени шаблона есть знак «=», используйте:
{{Если есть шаблон|1=Имя шаблона|то=|иначе=}}
Допускается указывать имя шаблона вместе с пространством имён Шаблон:Имя шаблона
. Но тогда перед ним нужно обязательно поставить :
двоеточие: ({{Если есть шаблон|:Шаблон:Имя шаблона|то=...
). Иначе шаблон определяет пространство имён как часть имени шаблона и начинает искать «Шаблон:Шаблон:Имя шаблона», который, естественно, не находит, выдавая результат из иначе.
Вместо то и иначе можно использовать соответственно then и else.
Примечания
- ↑ Сам себя шаблон не проверяет и при вводе своего имени всегда выдаёт то, т. к. проверять себя он может только если сам уже изначально существует. Если же шаблон не существует, то,
соответственно, проверять себя он никак и не может.
Данное исключение сделано для предотвращения появления петли в шаблоне при возможной попытке с его помощью проверить его собственное существование. Такая проверка возможна, хотя изначально никакого смысла не имеет.
Если планируется переименовать шаблон, следует также исправить его название в его коде. В противном случае при проверке наличия самого себя он начнёт создавать петлю, а по своему старому имени всегда будет выдавать то.