Изменения

Перейти к: навигация, поиск

Справка:Шаблоны

9606 байтов добавлено, 08:48, 22 июня 2009
«<code>Шаблон:</code>» («<code>Template:</code>»),
{{PD Help Page/ru}}
Шаблоны MediaWiki полезны для размещения одинаковых стандартных элементов (текста или форматирования) в других страницах.

== Создание шаблонов ==
Шаблоны являются обычными вики-страницами, с той разницей, что их названия начинаются с префикса «<code>Шаблон:</code>» («<code>Template:</code>»),
поэтому их можно [[Help:Starting a new page/ru|создавать так же как обычные страницы]].


== Использование шаблонов ==
Шаблоны — это вики-страницы, используемые в других вики-страницах. Доступных способов использования три:
*<code><nowiki>{{Name}}</nowiki></code> добавляет в страницу копию содержимого шаблона (страницы с именем <nowiki>[[Template:Name]]</nowiki>). Обращение к шаблону производится каждый раз, когда производится извлечение использующей его страницы. Таким образом, если изменить шаблон, то отображение использующих его страниц тоже изменится.
*<code><nowiki>{{subst:Name}}</nowiki></code> заменяет данную строку содержимым шаблона в момент сохранения страницы. Таким образом, после сохранения в ней остается копия шаблона, которую можно будет изменять так же, как обычную wiki-разметку. После сохранения шаблон и страница редактируются независимо: изменение страницы не влияет на шаблон, изменение шаблона не влияет на страницу. '''''Note''''': не стоит пользоваться данным способом, если вы хотите, чтобы изменения шаблона отображались в исппользующих его страницах.
*<code><nowiki>{{msgnw:Name}}</nowiki></code> включает шаблон в виде формы, отображающейся в использующей его странице, аналогично тому как действует тэг <code><nowiki>&lt;nowiki&gt;</nowiki></code>. Как и в первом случае, изменение шаблона изменяет то, что мы видим при отображении страницы.

== Параметры в шаблонах ==
<div style="float:right; margin:8px;">
{| {{Prettytable}}
|-
|{{Hl2}} colspan="2" align="center" |'''Шаблон с нумерованными параметрами'''
|-
| colspan="2" |
<pre><nowiki>
'''Спасибо...'''<br>
<small>за {{{1}}}.<br>
Жму руку, {{{2}}}</small>
</nowiki></pre>
|-
|{{Hl2}}|'''Что пишем'''
|{{Hl2}}|'''Как будет выглядеть'''
|-
|<code><nowiki>{{Thankyou/ru|участие в переводе|Вики}}</nowiki></code>
|
{{Thankyou/ru|участие в переводе|Вики}}
|-
|{{Hl2}} colspan="2" align="center" |'''Шаблон с именованными параметрами'''
|-
| colspan="2" |
<pre><nowiki>
'''Спасибо...'''<br>
<small>за {{{reason}}}.<br>
Жму руку, {{{signature}}}</small>
</nowiki></pre>
|-
|{{Hl2}}|'''Что пишем'''
|{{Hl2}}|'''Как будет выглядеть'''
|-
|<pre><nowiki>{{Thankyou/ru
|причина=участие в переводе
|подпись=Вики}}</nowiki></pre>
|
{{Thankyou/ru|причина=участие в переводе|подпись=Вики}}
|}
</div>
В шаблонах можно объявить параметры, либо как нумерованные <code><nowiki>{{{1}}}</nowiki></code> либо именованные <code><nowiki>{{{param}}}</nowiki></code>.

'''Пример:''' Вы хотите оставлять подписи с благодарностью на страницах обсуждения других пользователей, с объясением, за что вы благодарите. Вы можете создать [[Template:Thankyou/ru]] с текстом, аналогичным изображенному в таблице примеру.

Вставляя шаблон в страницу, укажите значения для его параметров, разделяя их символом (|): <code><nowiki>{{Thankyou/ru|всё хорошее|Вики}}</nowiki></code>. Для именованных параметров используйте пары «имя=значение», разделяя их тем же символом (|): <code><nowiki>{{Thankyou/ru|причина=всё хорошее|подпись=Вики}}</nowiki></code>. Преимущество использования именованных параметров — гибкость порядка их указания и большая ясность в понимании их назначения, особенно когда параметров много. Если требуется изменить порядок нумерованных параметров, их следует упомянуть явно: <code><nowiki>{{Thankyou|2=Вики|1=всё хорошее}}</nowiki></code>.

Для параметров можно указать значения по умолчанию, т.е. значения, которые будут использоваться, если никакого значения не указано. Например: <code><nowiki>{{{reason|всё хорошее}}}</nowiki></code> будет присваивать значение ''«всё хорошее»'' параметру <tt>reason</tt>, если оно не будет указано в вызове шаблона явно.

== Управление включением шаблонов==
Тем, какая часть шаблона будет включаться в страницу, можно управлять с помощью тэгов <code><nowiki><noinclude></nowiki></code> и
<code><nowiki><includeonly></nowiki></code>.

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

Возможное применения данной возможности следующие:
* отнесение шаблонов к категориям;
* межязыковые ссылки на похожие шаблоны на других языках;
* пояснительный текст по использованию шаблона.

Противоположным образом работает тэг <code><nowiki><includeonly></nowiki></code>. Текст, находящийся между <code><nowiki><includeonly></nowiki></code> и
<code><nowiki></includeonly></nowiki></code> будет обрабатываться и отображаться только когда страница шаблона включена в другую страницу. Очевидным применением этого является добавление всех страниц, содержащих данный шаблон, к [[Help:Categories/ru|категории]], без добавления самого шаблона в эту категорию.

'''Замечание:''' Когда вы изменяете категории, добавляемые в страницу с использованием шаблонов, категоризация может не сработать сразу, так как она управляется {{mediawiki|Manual:Job_queue|очередью задач}}.

== Систематизация шаблонов==
Для эффективного использования шаблонов нужно их легко находить и применять. Легче всего это обеспечить, поместив на страницу шаблона пример его использования.
Например такой:
<div style="display:table; width:auto;"><pre>
<noinclude>
== Использование ==
Позволяет давать ссылку на тему:
{{NameOfTemplate|Term1+Term2+Term3}}
</noinclude>
</pre></div>

Таким образом редактор сможет просто скопировать пример и модифицировать его для своих нужд.

== См. также ==
* [[Help:External searches]] — пример необычного использования шаблонов.
* [[Help:Magic words]] — забавные вещи, которые вы можете найти в некоторых шаблонах.
*{{mediawiki|meta:Help:Embed page}} — встраиваемые страницы из {{mediawiki|namespace|пространств имен}} отличающихся от <code>Template:</code>.

{{Languages|Help:Templates}}
[[Category:Help/ru|{{PAGENAME}}]]
[[Category:Template/ru]]
Анонимный участник

Навигация