Вики/Шаблоны
Шаблонами называется класс особых страниц, содержимое которых можно вставить в другие страницы. Причём это содержимое считывается при каждой загрузке страницы: изменения в шаблоне проявятся на страницах, их применяющих.
Первое знакомство
правитьСтраницы шаблонов — полноценные вики-документы, для которых отведено своё пространство имён "Шаблон: ". Вызывается шаблон с использованием кода {{Имя_шаблона}}
. При отображении страницы на место этого будет помещено содержимое страницы «Шаблон: Имя шаблона». Если её ещё нет, то пометка будет отображена как ссылка на несуществующую статью. Например, при помощи кода {{Задание}} вы можете разместить следующий шаблон:
Задание
{{{1}}}
Как обычно, имя шаблона чувствительно к регистру, а пробел эквивалентен подчёркиванию. Возможно также включение шаблона в шаблон, то есть вызов одного шаблона из другого.
Задание
Сделайте шаблон, совпадающий с именем вашего ника. Используя изображения, таблицы цветовое и шрифтовое оформление сделайте свою парадную подпись. Подпишите ей свою личную страницу.
Любую страницу можно использовать как шаблон: {{:Имя_страницы}}
. Если же вы подставляете подстраницу страницы, то вы можете вставить ее следующей инструкцией {{/Имя_страницы}}
.
Задание
Вставьте текст статьи про тотем на свою личную страницу, используя механизм шаблонов.
Список ссылок на используемые в тексте статьи шаблоны показывается ниже окна редактирования статьи.
Параметры
правитьПараметры шаблона могут быть поименованными:
{{Имя_шаблона|Имя_параметра_1=Значение_параметра_1|Имя_параметра_2=Значение_параметра_2}}
, тогда в теле шаблона надо ссылаться на {{{Имя_параметра_1}}}
, {{{Имя_параметра_2}}}
.
Или пронумерованными:
{{Имя_шаблона|Значение_параметра_1|Значение_параметра_2}}
, тогда в теле шаблона нужно использовать {{{1}}}
, {{{2}}}
.
Лишние (не используемые в теле шаблона) параметры игнорируются. Переменные шаблона вычисляются после вставки шаблона в вызывающую его статью, то есть если в шаблоне содержится подстановка {{PAGENAME}}
, то она будет развёрнута в имя вызывающей статьи, а не в имя этого шаблона.
Имена параметров чувствительны к регистру символов. Желательно использовать в именах параметров только латинские буквы, цифры, дефис. Использовать остальные символы не рекомендуется.
Таким образом, механизм шаблонов выполняет два типа подстановок:
- вызов шаблона (двойные фигурные скобки) заменяется содержимым шаблона;
- параметры шаблона (тройные фигурные скобки) заменяются параметрами шаблона.
Параметром шаблона может быть ссылка на другую статью. Пусть, например, у нас есть такой шаблон: Эта страница — {{{1}}} — моя самая любимая.
и он называется Тест
. Тогда его вызов
{{Тест|[http://ru.wikipedia.org/wiki/Википедия:Песочница]}}
будет развёрнут в:
Эта страница — [1] — моя самая любимая.
Задание
Добавьте в свой личный шаблон параметр, который вы будете заполнять при вызове шаблона вашей оценкой погоды за окном (солнечно, слякотно, морозно и так далее).
Неопределённые и пустые параметры
правитьЕсли какой-либо параметр шаблона не задан, то он останется нераскрытым и на странице, использующей шаблон, вы увидите примерно такой текст: …{{{1}}}…
.
Если вы используете вызов переменных не по именам, а по номерам, то вызов {{Шаблон||что_то}}
делает первый параметр определённым, но равным пустой строке. Если, напротив, нужно задать второй параметр, никак не определяя первый, то для этого следует использовать вызов {{Шаблон|2=что_то}}
. Этот синтаксис следует использовать также и в том случае, когда значение параметра содержит знак равенства (например, что_то=чему_то
): {{Шаблон|1=что_то=чему_то|2=ещё_что_то}}
.
Если для некоторого параметра шаблона подразумевается определённое значение по умолчанию, то можно использовать условное включение параметра в текст шаблона. Параметр, записанный в теле шаблона в виде: {{{parameter|что_то}}}
будет включён в текст шаблона либо как что_то
(если параметр не был определён), либо будет фигурировать присвоенное ему значение.
Самый простой пример: если некоторый параметр записан внутри шаблона в форме 1={{{parameter|}}}
(то есть если в качестве значения по умолчанию используется пустая строка), то в том случае, если этот параметр окажется не заданным, на его месте не будет ничего выводиться.
Задание
Настройте погодный параметр таким образом, что бы в случае его отсутствия всегда прописывалась какая-либо универсальная оценка погоды (отличная, клёвая, отстойная и так далее).
Просмотр содержимого шаблона
правитьЧтобы увидеть «сырое» содержимое шаблона (подстановки параметров и так далее), нужно смотреть на шаблон в режиме редактирования, поскольку в противном случае некоторые подстановки могут раскрыться.
Для показа содержимого шаблона (без wiki-интерпретации) можно использовать кодовый «волшебный» префикс msgnw:
: {{msgnw:Шаблон}}
Задание
На своей личной страничке под своей парадной подписью разместите её код.
Код шаблона
правитьСпециально для шаблонов есть три специальных тега: <noinclude>
, <onlyinclude>
и <includeonly>
.
<noinclude>
— Всё, что находится между тегами будет обрабатываться и показываться только в случае, когда шаблон показывается непосредственно, не включенным в другую страницу. Полезно при категоризации страниц, добавлении документации и т. д.<onlyinclude>
— антипод<noinclude>
. При его добавлении на страницу, импортироваться на страницу будет только код, который обёрнут этим тегом. Может быть полезен при малом размере кода самого шаблона и обширной документации к нему.<includeonly>
— код, который обёрнут этим тегом, будет импортироваться на страницу, но не будет обрабатываться движком на странице самого шаблона. Полезен, если, например, при добавлении категории на страницу с помощью шаблона, но когда категория не должна содержать страницу шаблону.
Вставка шаблона в момент сохранения
правитьИспользуя конструкцию {{subst:Шаблон}}
Вы выполняете подстановку
текста шаблона в момент сохранения ссылающейся страницы.
Например код:
{{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}},{{subst:CURRENTTIME}} (UTC)
подставится при сохранении страницы:
5 мая 2010, 10:38 (UTC)
в то время, как
{{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}, {{CURRENTTIME}} (UTC)
каждый раз будет показывать текущее время:
30 декабрь 2024, 17:56 (UTC)
Задание
Ниже кода своей парадной подписи вставьте вызов шаблона в момент сохранения. Сохраните страничку. Зайдите опять в режим редактирования и посмотрите на результат.
История изменений для страниц, содержащих шаблоны
правитьПри просмотре исторических версий статей, содержащих шаблоны и/или картинки, всегда используется текущая версия шаблонов (и картинок), то есть невозможна автоматическая «абсолютная» реконструкция исторических версий композитных текстов, чтобы также содержались ссылки на соответствующие картинки и шаблоны.
Колонки
правитьКолонки не следует путать с таблицами: это — другой механизм. Вывод текста в 2 или 3 колонки осуществляется с помощью шаблонов {col-2} и {col-3}; начало и конец текста, выводимого в колонку, задаётся шаблонами {col-begin} и {col-end}.
Более подробно этот способ оформления описан в разделе «Колонки» статьи Википедия: Оформление статей.