Шаблон:When pagename is/документація
|
|
Це підсторінка документації шаблону {{When pagename is}} (обг. · викор. · ред.). Вона містить інформацію про використання, категорії та інші дані, які не є частиною шаблону. |
Цей мета-шаблон призначений для використання всередині інших шаблонів.
Він допомагає іншим шаблонам визначити на якій сторінці вони виконуються. Шаблон перевіряє на збіг ім'я сторінки за заданим зразком.
Використання
[ред.]Шаблон може обробляти більше одного параметра. більшість параметрів не мають певного імені, оскільки їх імена використовуються для завдання зразка пошуку. Наприклад:
{{when pagename is
|/doc = Текст для сторінки документації
|other = Текст для решти сторінок
}}
Якщо шаблон включений на сторінці «Шаблон: Приклад/doc» код вище поверне:
- Текст для сторінки документації
Якщо шаблон включений на інший сторінці, ім'я якої не містить /doc, то код поверне:
- Текст для решти сторінок
Далі наводиться перелік всіх варіантів перевірки сторінок за зразком:
{{when pagename is
<!--Перевірка на збіг з повним ім'ям сторінки-->
|Учасник: Приклад/test = Текст для " Учасник: Приклад/test".
|Учасник: Приклад = Текст для" Учасник: Приклад ".
|Обговорення користувача: Приклад = Текст для" Обговорення користувача: приклад ".
<!--Перевірка на збіг з повним ім'ям базової сторінки, для базових сторінок або їх підсторінок-->
|Учасник: Приклад/+ = Спрацює на сторінках " Учасник: Приклад " та "Учасник: Приклад/test".
<!--Перевірка на збіг з ім'ям сторінки, для базових сторінок-->
|Приклад = Спрацює на сторінках " Учасник: Приклад", " Обговорення користувача: Приклад", " Шаблон: Приклад"
та т.п., але не на " Учасник: Приклад /-небудь ".
<!--Перевірка на збіг з повним ім'ям базової сторінки, тільки для підсторінок-->
|Учасник: Приклад/* = Спрацює на сторінці " Учасник: Приклад /-небудь ", але не на " Учасник: Приклад ".
|Обговорення користувача: Приклад/* = Matches "Обговорення користувача: Приклад /-небудь ".
<!--Збіг з ім'ям базової сторінки, тільки для підсторінок-->
|Приклад/* = Спрацює на сторінках " Учасник: Приклад /-небудь " та " Обговорення користувача: Приклад /-небудь ".
<!--Збіг з ім'ям підсторінки-->
|/-небудь = Будь сторінка закінчується на " /-небудь ".
|/doc = Будь сторінка закінчується на "/doc".
<!--Збіг до частини імені підсторінки (без розрізнення великих та малих буквв) -->
|/ чтона* = Будь сторінка ім'я якої починається з "/ чтона " або "/ чтона ".
|/ архі* = Спрацює на сторінці " Обговорення користувача: Приклад/Архів 1".
<!--Запасні варіанти за замовчуванням-->
|basepage = Тест для будь-якої базової сторінки.
|subpage = Текст для будь продстраніци.
|other = Текст для будь-якої сторінки.
}}
Порівняння проводиться зверху вниз та повертається той варіант, в якому відбулося збіг. Під словами «з верху вниз» мається на увазі порядок варіантів вище, а не порядок параметрів які передаються в шаблон.
У шаблоні немає обмежень на кількість параметрів, які можна передати, крім обмежень накладених сервером та движком MediaWiki.
Більшість перевірок не залежать від регістру букв. Однак зразок «/test» співпаде з «Учасник: Приклад/test» але не з "Користувач: Приклад/Test».
Перевірка на збіг з частиною імені підсторінки, такий як «/чтона*» має деякі обмеження. Див спеціально присвячений цьому розділ нижче.
Дозволяється задавати пусте значення в параметрі порівняння, при збігу із зразком подальше порівняння припиняється і шаблон повертає порожній рядок. Це може використовуватися для наступних цілей:
{{when pagename is
|/doc =
|/sandbox = Текст для сторінки пісочниці
|other = Текст для решти сторінок
}}
Код вище нічого не відобразить, якщо шаблон викличеться на сторінці /doc, але на сторінці /sandbox він поверне:
- Текст для сторінки пісочниці
А на інших сторінках відобразиться:
- Текст для решти сторінок
Часткові імена підсторінок
[ред.]Також цей шаблон може порівнювати частину імені підсторінки. Наприклад:
{{when pagename is
|/ архі* = Текст для сторінки архіву
|other = Текст для решти сторінок
}}
На сторінці «Користувач: Приклад/Архів 1» код вище поверне:
- Текст для решти сторінок
Назва параметра зразка порівняння «/чтона*» не повинно містити заголовних букв, але збіг буде на підсторінка містить як великі, так і маленькі букви, таких як «Учасник: Приклад /-небудь» та «Учасник: Приклад /-небудь».
порівнювана частина імені сторінки в зразку може містити 4, 6 та 8 символів. Порівняння з «/чтона*», «/чтоніб*» та «/-небудь*» Спрацює, але з«/що*» або «/чтона*» — немає.
Спочатку порівнюються довгі зразки, наприклад якщо задані обидва зразки «/-небудь*» та «/чтона*», і поточна станиця називається «Учасник: Приклад /-небудь», то шаблон поверне те, що задано в параметрі «/-небудь*».
Параметр «page»
[ред.]Для перевірки та демонстрації роботи шаблон обробляє параметр page. Наприклад:
{{when pagename is
|/test = Текст для сторінки тесту
|other = Текст для іншої сторінки
|page = Шаблон: Приклад/test
}}
І не важливо на якій сторінці код вищою буде викликаний, він завжди поверне:
- Текст для сторінки тесту
Параметрpageзмушує шаблон вести себе в точності так, як якщо б він був викликаний на зазначеній в ньому сторінці.
Якщо параметрpageпорожній або не заданий, результат визначається в залежності від назви поточної сторінки.
Ви можете додати параметрpage в викликає шаблон, щоб показати на його сторінці документації як він буде виглядати на різних сторінках. Наприклад:
{{when pagename is
|/test = Текст для сторінки тесту
|other = Текст для іншої сторінки
|page = {{{page|}}}
}}
Порівняння імені простору
[ред.]Цей шаблон не порівнює імена просторів. Якщо вам потрібно це, то поєднуйте це шаблон з одним з шаблонів перевірки імен просторів, таких як {{template other}}. Наприклад:
{{template other
|{{when pagename is
|/doc = Текст на сторінці документації шаблону.
}}
|<!--Нічого не показувати на інших сторінках-->
}}
Так на сторінці «Користувач: Приклад/doc» код нічого не поверне, але на сторінці «Шаблон: Приклад/doc» він поверне:
Технічні деталі
[ред.]Це шаблон визначає підсторінки навіть якщо він використовується на сторінках в просторі імен, для яких заборонено створення підсторінок. Таким чином, він однаково працює у всіх просторах імен.