Anekdot.me:О шаблонах

Материал из Anekdot.me
Перейти к навигацииПерейти к поиску

Это не анекдот!

Это сурьёзный документ, который надо прочитать, осознать и принять как должное.
И совершенно не обязательно бежать рассказывать его всем друзьям и соседям, заливаясь весёлым звонким смехом.
Коротко сослаться на эту страницу можно так: AM:ОШ.


Шаблоны — особые страницы в нашем проекте, предназначенных для подстановки на множестве других страниц.

Первое знакомство[править]

Представьте себе, что вы хотите на сотне страниц разместить такую надпись: Привет. Чтобы она выглядела именно так, как выглядит на примере, её код может иметь следующий вид:

<span style="font-family:Open Sans,Tahoma,Verdana,sans-serif;"><span style="color: #FFAE00;font-size:150%;">П</span><span style="color:#555;">ривет</span></span>

Этой конструкции, скорее всего, далеко до качественного кода, но для примера сойдёт.

Жуть, не правда ли? А представьте, что вам придётся вставлять такую конструкцию каждый раз! Но это ещё не самое страшное. Представьте, что поработав немало времени, вы, наконец, разместили везде, где собирались, свой «привет», но тут поняли, что забыли в конце восклицательный знак. И вновь нужно отредактировать сотню страниц, только ради этого несчастного знака препинания!

И вот здесь-то вам на помощь приходят шаблоны. Вам достаточно создать одну страничку (например, Шаблон:Привет), куда помещаете приведённый выше код. Всё! Теперь на все страницы вам уже нужно помещать не этот непонятный длинных код, а такую конструкцию:

{{Привет}}

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

Параметры[править]

Теперь, когда вам открылся глубинный смысл шаблонов, можно немножко рассказать о параметрах. Параметры — это детали шаблона, которые задаются самим пользователем для каждой страницы отдельно. В коде шаблона они обычно используются в виде {{{Название параметра|Значение по умолчанию}}}. Для чего они нужны? Вернёмся к нашему шаблону «Привет» и слегка его дополним:

<span style="font-family:Open Sans,Tahoma,Verdana,sans-serif;"><span style="color: #FFAE00;font-size:150%;">П</span><span style="color:#555;">ривет, {{{name|друг!}}}</span></span> Обратите внимание на параметр name, значение по умолчанию которого — «друг». Теперь если вы разместите где-нибудь конструкцию {{Привет}}, то получите следующий результат:

Привет, друг!

Однако вы можете воспользоваться параметром name, разместив на одной из страниц конструкцию {{Привет|name=Юлька}}, или {{Привет|name=человек.}}, или {{Привет|name=привет!}} и получить Привет, Юлька, или Привет, человек., или Привет, привет!

Разумеется, ничто не мешает делать в шаблоне несколько параметров. Например, наш шаблон «Привет» можно сделать рассчитанным на трёх персон и снабжённый дополнительным текстом:

<span style="font-family:Open Sans,Tahoma,Verdana,sans-serif;"><span style="color: #FFAE00;font-size:150%;">П</span><span style="color:#555;">ривет, {{{name1|мир}}}, {{{name2|дружба}}} и {{{name3|жвачка}}}! {{{text|Добро пожаловать к нам!}}}</span></span>

Тогда просто {{Привет}} выдаст такой результат:

Привет, мир, дружба и жвачка! Добро пожаловать к нам!

А например, конструкция {{Привет|name1=Атос|name2=Портос|name3=Арамис|text=Один за всех и все за одного!}} выдаст такой результат:

Привет, Атос, Портос и Арамис! Один за всех и все за одного!

Если у вас в шаблоне много параметров, не обязательно заполнять их все. То есть, такой код: {{Привет|name1=Кола|name2=Пепси}} тоже будет корректно работать, оставив в параметрах name3 и text значение по умолчанию. Также параметру можно присваивать пустое значение. Допустим, конструкция {{Привет|text=}} даст такой результат:

Привет, Атос, Портос и Арамис!

Параметры также могут быть нумерованными. Для этого в коде шаблона должны присутствовать такие конструкции, как {{{1|}}}, {{{2|}}}, {{{3|}}}… Их преимущество в том, что они могут вызываться без указания названия параметра. То есть, пусть наш шаблон «Привет» имеет следующий код:

Привет, мир, дружба и жвачка! Добро пожаловать к нам!

Тогда шаблон можно использовать следующим образом:

{{Привет|Атос|Портос|Арамис|text=Один за всех и все за одного!}}

Первый «безымянный параметр» отвечает за значение параметра {{{1|}}}, второй — за значение {{{2|}}} и так далее. При этом совершенно не важно, как расположены «именные параметры» при использовании шаблона. То есть, конструкция {{Привет|Атос|Портос|text=Один за всех и все за одного!|Арамис}} даст абсолютно тот же результат, что и конструкция {{Привет|text=Один за всех и все за одного!|Атос|Портос|Арамис}}.

Кстати, безымянные параметры всё равно могут быть вызваны и по имени, например, {{Привет|3=Толстой|2=Лермонтов|1=Пушкин}}.

См. также[править]