Шаблоны

Материал из wiki.tlib.ru
Перейти к: навигация, поиск

Содержание

Шаблоны

Шаблонами называется класс особых страниц, содержимое которых можно вставить в другие страницы. Причём это содержимое считывается при каждой загрузке страницы: изменения в шаблоне проявятся на страницах, их применяющих. Страницы шаблонов — полноценные вики-документы, для которых отведено своё пространство имён «Шаблон:». Вызывается шаблон пометкой {{Имя_шаблона}}. При отображении страницы на место этого будет помещено содержимое страницы «Шаблон:Имя шаблона». Если её ещё нет, то пометка будет отображена как ссылка на несуществующую статью.

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

Любую страницу можно использовать как шаблон пометкой {{Категория:Имя_страницы}}. Если Категория отстутствует, то просто: {{:Имя_страницы}}

Список ссылок на используемыех в тексте страницы шаблоны показывается ниже окна редактирования статьи.

Параметры

Параметры шаблона могут быть поименованными:

{{Имя_шаблона|parname1=parvalue1|parname2=parvalue2}}, тогда в теле шаблона надо ссылаться на {{{parname1}}}, {{{parname2}}};

Или пронумерованными:

{{Имя_шаблона|parvalue1|parvalue2}}, тогда в теле шаблона нужно использовать {{{1}}}, {{{2}}}.

Лишние (не используемые в теле шаблона) параметры игнорируются. Переменные шаблона вычисляются после вставки шаблона в вызывающую его статью, то есть если в шаблоне содержится подстановка {{PAGENAME}}, то она будет развёрнута в имя вызывающей статьи, а не в имя этого шаблона.

Имена параметров чувствительны к регистру символов. Желательно использовать в именах параметров только латинские буквы, цифры, дефис. Остальные символы не рекомендуются к использованию.

Таким образом, механизм шаблонов выполняет два типа подстановок:

  • вызов шаблона (двойные фигурные скобки) заменяется содержимым шаблона;
  • параметры шаблона (тройные фигурные скобки) заменяются параметрами шаблона.

Параметром шаблона может быть ссылка на другую статью. Пусть, например, у нас есть такой шаблон:

 Эта страница: {{{1}}} моя самая любимая.
 

и он называется Тест. Тогда его вызов

 {{Тест|[[Песочница]]}}
 

будет развёрнут в:

Эта страница: Песочница моя самая любимая.

== Неопределённые и пустые параметры == пока не настроено Если какой-либо параметр шаблона не задан, то он останется нераскрытым и на странице использующей шаблон Вы увидите примерно такой текст: ...{{{1}}}....

Если Вы используете вызов переменных не по именам, а по номерам, то вызов {{Шаблон||что_то}} делает первый параметр определённым, но равным пустой строке. Если, напротив, нужно задать второй параметр, никак не определяя первый, то для этого следует использовать вызов {{Шаблон|2=что_то}}. Этот синтаксис следует использовать также и в том случае, когда значение параметра содержит знак равенства (например, «что_то=чему_то»): {{Шаблон|1=что_то=чему_то|2=еще_что_то}}.

Если для некоторого параметра шаблона подразумевается определённое значение по умолчанию, то можно использовать условное включение параметра в текст шаблона. Параметр, записанный в теле шаблона в виде: {{{parameter|что_то}}} будет включён в текст шаблона либо как что_то (если параметр не был определен), либо будет фигурировать присвоенное ему значение.

Самый простой пример: если некоторый параметр записан внутри шаблона в форме 1={{{parameter|}}} (то есть если в качестве значения по умолчанию используется пустая строка), то в том случае, если этот параметр окажется не заданным, на его месте не будет ничего выводиться.

Просмотр содержимого шаблона

Чтобы увидеть «сырое» содержимое шаблона (подстановки параметров и т. д.), нужно смотреть на шаблон в режиме редактирования, поскольку в противном случае некоторые подстановки вроде могут раскрыться.

Для показа содержимого шаблона (без wiki-интерпретации) можно использовать кодовый «волшебный» префикс «msgnw:»: {{msgnw:Шаблон}}

Код шаблона

Всё, что находится между тегами <noinclude> ... </noinclude> будет обрабатываться и показываться только в случае когда шаблон показывается непосредственно, не включенным в другую страницу. Возможные применения:

  • категоризация шаблонов самих по себе (а не страниц которые их содержат). Т.к. если шаблон содержит код категории, то в указанную категорию помещается не только шаблон, но и все страницы, включающие его.
  • текст, объясняющий как использовать шаблон

Теги <includeonly> ... </includeonly> обладает противоположным действием. Текст будет обрабатываться и показываться только тогда когда шаблон включён в статью. Очевидное применение - включение всех статей, содержащих шаблон в категорию (при этом сам шаблон в категорию не попадёт).

Следует отметить, что при этом есть проблема — если включить статью в категорию посредством шаблона, а потом изменить категорию в шаблоне,то статьи будут содержаться в старой категории до первого редактирования и сохранения статьи содержащей шаблон.

Вставка шаблона в момент сохранения

Используя конструкцию {{subst:Шаблон}} Вы выполняете подстановку текста шаблона в момент сохранения ссылающейся страницы.

Например код:

 {{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}},{{subst:CURRENTTIME}} (UTC)
 

подставится при сохранении страницы:

3 марта 2005, 16:56 (UTC)

в то время, как

 {{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} (UTC)
 

каждый раз будет показывать текущее время:

21 декабрь 2024,  18:36 (UTC)

История изменений для страниц, содержащих шаблоны

При просмотре исторических версий статей, содержащих шаблоны и/или картинки, всегда используется текущая версия шаблонов (и картинок), т. е. невозможна автоматическая «абсолютная» реконструкция исторических версий композитных текстов, чтобы также содержались ссылки на соответствующие картинки и шаблоны.

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты