Шаблон:Namespace detect/doc: различия между версиями
Admin (обсуждение | вклад) (Новая страница: «{{documentation subpage}} {{high-risk|3,000,000+}} {{lua|Module:Namespace detect}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> This …») |
Karaby (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
{{ | <noinclude>{{docpage}}</noinclude> | ||
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> | <!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> | ||
Этот мета-шаблон предназначен для определения типа страницы по имени пространства. | |||
Шаблон определяет и разделяет все [[w:Википедия:Пространство имён|пространства]] страниц используемые в Википедии на несколько типов: | |||
:'''main''' = | :'''<code>main</code>''' = основное/пространство статей, в котором располагаются обычные статьи Википедии. | ||
:'''talk''' = | :'''<code>talk</code>''' = любые пространства обсуждения страниц, начинающиеся со слов «Обсуждение:», «Обсуждение участника:», «Обсуждение файла:» и т.п. | ||
:'''user, wikipedia, file, mediawiki, template, help, category''' | :'''<code>user, wikipedia, file, mediawiki, template, help, category</code>''' и '''<code>portal</code>''' = другие пространства кроме пространств обсуждения. | ||
:'''other''' = | :'''<code>other</code>''' = любые пространства не указанные в параметре шаблона. См. пояснение ниже. | ||
Для обратной совместимости этот шаблон понимает старое имя '''<code>image</code>''' (изображение) для пространства '''<code>file</code>''' (файл). Однако использовать '''<code>image</code>''' теперь нежелательно. | |||
''' | '''Внимание!''' В большинстве случаев лучше использовать более простые шаблоны определения пространств страниц (смотри раздел [[#См. также|См. также]] ниже), так как этот шаблон более уязвим к таким человеческим ошибкам, как описки в имени параметров. | ||
=== | === Использование === | ||
Этот шаблон принимает один или более параметров названных ниже, которые задают типы страниц перечисленные выше. Например: | |||
<pre> | <pre> | ||
{{namespace detect | {{namespace detect | ||
| main = | | main = текст в статье | ||
| talk = | | talk = текст на странице обсуждения | ||
| other = | | other = текст на остальных страницах | ||
}} | }} | ||
</pre> | </pre> | ||
Если шаблон будет вызван в статье, находящейся в основном пространстве, он вернёт следующее: | |||
:{{namespace detect| demospace=main | :{{namespace detect| demospace=main | ||
| main = | | main = текст в статье | ||
| talk = | | talk = текст на странице обсуждения | ||
| other = | | other = текст на остальных страницах | ||
}} | }} | ||
Если шаблон будет вызван на любой другой странице, кроме статьи или страницы обсуждения, он вернёт: | |||
:{{namespace detect | :{{namespace detect | ||
| main = | | main = текст в статье | ||
| talk = | | talk = текст на странице обсуждения | ||
| other = | | other = текст на остальных страницах | ||
}} | }} | ||
Примеры выше обязательно что-то вернут на любом типе страниц, но если мы не будем задавать параметр '''<code>other</code>''' или оставим его пустым, то ничего не вернётся на остальных страниц. Например: | |||
<pre> | <pre> | ||
{{namespace detect | {{namespace detect | ||
| file = | | file = текст на странице описания файла | ||
| category = | | category = текст на странице категории | ||
| other = | | other = | ||
}} | }} | ||
</pre> | </pre> | ||
На любых страницах, кроме страниц описания фалов и страниц категорий шаблон ничего не отобразит. | |||
<!-- | <!-- Не убирайте этот пример. Он ничего не отображает, но нужен для целей тестирования. --> | ||
:{{namespace detect | :{{namespace detect | ||
| file = | | file = текст на странице описания фала | ||
| category = | | category = текст на странице категории | ||
| other = | | other = | ||
}} | }} | ||
Используя пустое значение параметра можно указать, чтобы шаблон ничего не отображал на указанном типе страниц. Например: | |||
<pre> | <pre> | ||
{{namespace detect | {{namespace detect | ||
| main = | | main = | ||
| other = | | other = текст на остальных страницах | ||
}} | }} | ||
</pre> | </pre> | ||
Код выше ничего не отобразит в статье, но вернёт следующее на остальных страницах: | |||
:{{namespace detect | :{{namespace detect | ||
| main = | | main = | ||
| other = | | other = текст на остальных страницах | ||
}} | }} | ||
=== | === Параметры demospace и page === | ||
Для проверки и демонстрации работы шаблон обрабатывает два параметра '''<code>demospace</code>''' (демо-пространство) и '''<code>page</code>''' (страница). | |||
Параметр <code>demospace</code> может принимать любое значение типа страницы которое используемое в шаблоне, включая тип '''<code>other</code>'''. Он указывает шаблону вести себя так, так бы он вёл себя будучи вызван на указанном типе страниц. Например: | |||
<pre> | <pre> | ||
{{namespace detect | {{namespace detect | ||
| main = | | main = текст в статье | ||
| other = | | other = текст на остальных страницах | ||
| demospace = main | | demospace = main | ||
}} | }} | ||
</pre> | </pre> | ||
Не важно на каком типе странице вы поместите код, указанный выше он всегда вернёт: | |||
:{{namespace detect | :{{namespace detect | ||
| main = | | main = текст в статье | ||
| other = | | other = текст на остальных страницах | ||
| demospace = main | | demospace = main | ||
}} | }} | ||
В отличие от него параметр <code>page</code> задаёт имя страницы, которое заставляет шаблон вести себя именно так, как если бы он был помещён на указанной в нём странице, которая не обязательно должна существовать на самом деле. Например: | |||
<pre> | <pre> | ||
{{namespace detect | {{namespace detect | ||
| user = | | user = текст на личной странице пользователя | ||
| other = | | other = текст на остальных страницах | ||
| page = | | page = Участник:Например | ||
}} | }} | ||
</pre> | </pre> | ||
Не важно на каком типе страниц будет помещён пример, указанный выше, он всегда вернёт: | |||
:{{namespace detect | :{{namespace detect | ||
| user = | | user = текст на личной странице пользователя | ||
| other = | | other = текст на остальных страницах | ||
| page = | | page = Участник:Например | ||
}} | }} | ||
С помощью параметров <code>page</code> и <code>demospace</code> удобно демонстрировать различное поведение вашего шаблона если он использует шаблон {{tl|namespace detect}}. Для этого их нужно поддержать в вызывающем шаблоне и передать в {{tl|namespace detect}} следующим образом: | |||
<pre> | <pre> | ||
{{namespace detect | {{namespace detect | ||
| main = | | main = текст в статье | ||
| other = | | other = текст на остальных страницах | ||
| demospace = {{{demospace|}}} | | demospace = {{{demospace|}}} | ||
| page = {{{page|}}} | | page = {{{page|}}} | ||
Строка 128: | Строка 126: | ||
</pre> | </pre> | ||
Если оба параметра '''<code>demospace</code>''' and '''<code>page</code>''' пусты или не заданы, то шаблон будет определять тип страницы как обычно. | |||
=== | === Параметры === | ||
Список всех параметров: | |||
<pre> | <pre> | ||
Строка 140: | Строка 138: | ||
| demospace = {{{demospace|}}} / main / talk / user / | | demospace = {{{demospace|}}} / main / talk / user / | ||
wikipedia / file / mediawiki / template / | wikipedia / file / mediawiki / template / | ||
help / category / portal | help / category / portal / other | ||
| page = {{{page|}}} / | | page = {{{page|}}} / Участник:Например | ||
}} | }} | ||
</pre> | </pre> | ||
Примечание: Пустые значения параметров для "main" ... "portal" имеют специальное назначение. | |||
=== | === Технические детали === | ||
Пространство «Image» (Изображение) было переименовано в «File» (Файл) 11 декабря 2008 года. Этот шаблон обновлён и понимает оба эти названия, как это было раньше. Для обратной совместимости шаблон корректно обрабатывает название «image», как в названии параметра «image = страница описания фала», так и значении параметра «demospace = image». | |||
Если вы намереваетесь передавать таблицы в значениях параметров в этот шаблон, вам необходимо учесть: | |||
[[w:Википедия:Механизм шаблонов|Механизм шаблонов]] не позволяет передавать символ разделителя параметров «<code>|</code>» внутри значений параметров, если только он не используется внутри другого шаблона <code><nowiki>{{name|param1}}</nowiki></code> или не является разделителем в ссылке <code><nowiki>[[w:Википедия:Механизм шаблонов|помощь]]</nowiki></code>. Поэтому в шаблон нельзя передавать [[w:Википедия:Оформление таблиц|таблицы]] в викиразметке в значениях параметров, если только вы не делаете это безопасным способом используя шаблон {{tl|!}} вместо «<code>|</code>». Чтобы избежать этих сложностей лучше использовать HTML разметку для таблиц, что более продуктивно. | |||
== См. также == | |||
* {{tl|main other}} | |||
* {{tl|talk other}} | |||
* {{tl|user other}} | |||
* {{tl|template other}} | |||
{{ | * {{tl|category other}} | ||
<includeonly> | <includeonly> | ||
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS --> | <!-- CATEGORIES AND INTERWIKIS HERE, THANKS --> | ||
[[ | [[Категория:Шаблоны:Для шаблонов|{{PAGENAME}}]] | ||
[[ar:قالب:كشف نطاق]] | |||
[[ba:Ҡалып:Namespace detect]] | |||
[[be:Шаблон:Namespace detect]] | |||
[[be-x-old:Шаблён:Вызначэньне прасторы назваў]] | |||
[[bjn:Citakan:Namespace detect]] | |||
[[bn:টেমপ্লেট:Namespace detect]] | |||
[[ca:Plantilla:Detecta espai de noms]] | |||
[[cy:Nodyn:Namespace detect]] | |||
[[dsb:Pśedłoga:Namespace detect]] | |||
[[dv:ފަންވަތް:Namespace detect]] | |||
[[en:Template:Namespace detect]] | |||
[[eo:Ŝablono:Determinas nomspacon]] | |||
[[fa:الگو:Namespace detect]] | |||
[[hi:साँचा:Namespace detect]] | |||
[[hif:Template:Namespace detect]] | |||
[[hsb:Předłoha:Namespace detect]] | |||
[[hu:Sablon:Namespace detect]] | |||
[[ja:Template:Namespace detect]] | |||
[[ko:틀:이름공간 검출]] | |||
[[map-bms:Cithakan:Namespace detect]] | |||
[[mhr:Кышкар:Namespace detect]] | |||
[[mn:Загвар:Namespace detect]] | |||
[[mzn:شابلون:Namespace detect]] | |||
[[no:Mal:Namespace detect]] | |||
[[pa:ਫਰਮਾ:Namespace detect]] | |||
[[pam:Template:Namespace detect]] | |||
[[pt:Predefinição:Namespace detect]] | |||
[[sl:Predloga:Namespace detect]] | |||
[[sr:Шаблон:Namespace detect]] | |||
[[tt:Калып:Namespace detect]] | |||
[[uk:Шаблон:Namespace detect]] | |||
[[ur:سانچہ:Namespace detect]] | |||
[[zh:Template:Namespace detect]] | |||
</includeonly><noinclude> | |||
</ | [[Категория:Шаблоны:Документация|{{PAGENAME}}]] | ||
</noinclude> |
Текущая версия от 04:33, 25 сентября 2013
Этот мета-шаблон предназначен для определения типа страницы по имени пространства.
Шаблон определяет и разделяет все пространства страниц используемые в Википедии на несколько типов:
main
= основное/пространство статей, в котором располагаются обычные статьи Википедии.talk
= любые пространства обсуждения страниц, начинающиеся со слов «Обсуждение:», «Обсуждение участника:», «Обсуждение файла:» и т.п.user, wikipedia, file, mediawiki, template, help, category
иportal
= другие пространства кроме пространств обсуждения.other
= любые пространства не указанные в параметре шаблона. См. пояснение ниже.
Для обратной совместимости этот шаблон понимает старое имя image
(изображение) для пространства file
(файл). Однако использовать image
теперь нежелательно.
Внимание! В большинстве случаев лучше использовать более простые шаблоны определения пространств страниц (смотри раздел См. также ниже), так как этот шаблон более уязвим к таким человеческим ошибкам, как описки в имени параметров.
Использование
Этот шаблон принимает один или более параметров названных ниже, которые задают типы страниц перечисленные выше. Например:
{{namespace detect | main = текст в статье | talk = текст на странице обсуждения | other = текст на остальных страницах }}
Если шаблон будет вызван в статье, находящейся в основном пространстве, он вернёт следующее:
- текст в статье
Если шаблон будет вызван на любой другой странице, кроме статьи или страницы обсуждения, он вернёт:
- текст на остальных страницах
Примеры выше обязательно что-то вернут на любом типе страниц, но если мы не будем задавать параметр other
или оставим его пустым, то ничего не вернётся на остальных страниц. Например:
{{namespace detect | file = текст на странице описания файла | category = текст на странице категории | other = }}
На любых страницах, кроме страниц описания фалов и страниц категорий шаблон ничего не отобразит.
Используя пустое значение параметра можно указать, чтобы шаблон ничего не отображал на указанном типе страниц. Например:
{{namespace detect | main = | other = текст на остальных страницах }}
Код выше ничего не отобразит в статье, но вернёт следующее на остальных страницах:
- текст на остальных страницах
Параметры demospace и page
Для проверки и демонстрации работы шаблон обрабатывает два параметра demospace
(демо-пространство) и page
(страница).
Параметр demospace
может принимать любое значение типа страницы которое используемое в шаблоне, включая тип other
. Он указывает шаблону вести себя так, так бы он вёл себя будучи вызван на указанном типе страниц. Например:
{{namespace detect | main = текст в статье | other = текст на остальных страницах | demospace = main }}
Не важно на каком типе странице вы поместите код, указанный выше он всегда вернёт:
- текст в статье
В отличие от него параметр page
задаёт имя страницы, которое заставляет шаблон вести себя именно так, как если бы он был помещён на указанной в нём странице, которая не обязательно должна существовать на самом деле. Например:
{{namespace detect | user = текст на личной странице пользователя | other = текст на остальных страницах | page = Участник:Например }}
Не важно на каком типе страниц будет помещён пример, указанный выше, он всегда вернёт:
- текст на остальных страницах
С помощью параметров page
и demospace
удобно демонстрировать различное поведение вашего шаблона если он использует шаблон {{namespace detect}}. Для этого их нужно поддержать в вызывающем шаблоне и передать в {{namespace detect}} следующим образом:
{{namespace detect | main = текст в статье | other = текст на остальных страницах | demospace = {{{demospace|}}} | page = {{{page|}}} }}
Если оба параметра demospace
and page
пусты или не заданы, то шаблон будет определять тип страницы как обычно.
Параметры
Список всех параметров:
{{namespace detect | main = ... | other = | demospace = {{{demospace|}}} / main / talk / user / wikipedia / file / mediawiki / template / help / category / portal / other | page = {{{page|}}} / Участник:Например }}
Примечание: Пустые значения параметров для "main" ... "portal" имеют специальное назначение.
Технические детали
Пространство «Image» (Изображение) было переименовано в «File» (Файл) 11 декабря 2008 года. Этот шаблон обновлён и понимает оба эти названия, как это было раньше. Для обратной совместимости шаблон корректно обрабатывает название «image», как в названии параметра «image = страница описания фала», так и значении параметра «demospace = image».
Если вы намереваетесь передавать таблицы в значениях параметров в этот шаблон, вам необходимо учесть:
Механизм шаблонов не позволяет передавать символ разделителя параметров «|
» внутри значений параметров, если только он не используется внутри другого шаблона {{name|param1}}
или не является разделителем в ссылке [[w:Википедия:Механизм шаблонов|помощь]]
. Поэтому в шаблон нельзя передавать таблицы в викиразметке в значениях параметров, если только вы не делаете это безопасным способом используя шаблон {{!}} вместо «|
». Чтобы избежать этих сложностей лучше использовать HTML разметку для таблиц, что более продуктивно.
См. также
- {{main other}}
- {{talk other}}
- {{user other}}
- {{template other}}
- {{category other}}