Шаблон:Indexcard/begin

Материал из Циклопедии
Перейти к навигации Перейти к поиску
(i) Документация [просмотр] [править] [история] [обновить]

Страница 1Страница 2Страница 3Страница 4Страница 5Страница 6

Навигационный шаблон {{Indexcard}}, имитирующий картотеку. Размещается на нескольких страницах, названия которых (без пространства имён) записываются как параметры p01 ... p15. При переходе на каждую страницу активируется соответствующая ей вкладка и в ней открывается соответствующее содержимое, указанное в параметрах content01 ... content15. Пространство имён (с двоеточием) записывается отдельно в параметр namespace и применяется сразу ко всем страницам, но не отображается.

Шаблон нужно размещать вверху страницы. Параметр p01 указывается обязательно, остальные — нет. В параметры content01 ... content15 можно помещать текст, изображения, шаблоны, ссылки.

Образец для копирования

Одним шаблоном

Этот вариант можно использовать в качестве шапки страницы, содержимое которой меняется в зависимости от перехода на разные вкладки.

{{Indexcard
|child              = <!-- встроенная               -->
|style              = <!-- стиль индексной карточки -->
|tab-style          = <!-- стиль вкладок            -->
|active-tab-style   = <!-- стиль активной вкладки   -->
|inactive-tab-style = <!-- стиль неактивной вкладки -->
|content-style      = <!-- стиль содержимого        -->
|namespace          = <!-- пространство имён        -->
|currentpage        =
|p01 =<!-- Страница 1 -->
|content01 =<!-- Содержимое 1 -->
|p02 =
|content02 =
|p03 =
|content03 =
|p04 =
|content04 =
|p05 =
|content05 =
|p06 =
|content06 =
|p07 =
|content07 =
|p08 =
|content08 =
|p09 =
|content09 =
|p10 =
|content10 =
|p11 =
|content11 =
|p12 =
|content12 =
|p13 =
|content13 =
|p14 =
|content14 =
|p15 = <!-- Страница 15 -->
|content15 = <!-- Содержимое 15 -->
}}

Открывающий и закрывающий

Для страниц с большим содержимым используйте парные шаблоны {{Indexcard/begin}} / {{Indexcard/end}}, помещаемые вначале и в конце страницы.

{{Indexcard/begin
|child              = 
|style              = 
|tab-style          = 
|active-tab-style   = 
|inactive-tab-style = 
|content-style      = 
|namespace          = 
|currentpage        =
|p01 =
|p02 =
|p03 =
|p04 =
<!-- ... -->
|p15 = 
}}
<!-- содержимое страницы -->
{{Indexcard/end}}

Пример использования

Код:

{{Indexcard
|child              = 
|style              = border:1px solid yellow; background-color:PaleGreen;
|tab-style          = 
|active-tab-style   = background-color:LightCoral;
|inactive-tab-style = background-color:PaleGreen;
|content-style      = 
|namespace          = Шаблон
|p01 = Бан
|p02 = Indexcard
|p03 = Offensive
|p04 = Indexcard/doc
|p05 = Lurk Infected
|content01 = {{Бан}}
|content02 = Содержимое №2<br /><br />{{заготовка}}<br />Произвольный текст и [[ссылка]].<br />Изображение:<br />[[Файл:Panel-149623826-image-376a78f658cb5883-320-320.jpeg|100px]]
|content03 = {{Offensive}}
|content04 = Содержимое №4<br /><br />{{орисс}}<br /><br />Произвольный текст и [[ссылка]].<br />Изображение:<br />[[Файл:Panel-149623826-image-376a78f658cb5883-320-320.jpeg|100px]]
|content05 = {{Lurk Infected}}
}}

Результат:

БанIndexcardOffensiveIndexcard/docLurk Infected

Вложение шаблонов

Шаблоны {{Indexcard}} можно вкладывать друг в друга. При этом первый шаблон должен активироваться для нескольких наборов страниц, а второй — для каждой отдельной страницы из набора.

На основе данного шаблона можно делать производные шаблоны, открывающие одно из своих содержимых при размещении сразу на нескольких страницах. Для этого нужно использовать параметр currentpage. Если он пустой, вместо него подставляется имя текущей открытой страницы, и каждое соответствующее содержимое открывается только для одной своей страницы. Необходимо создать алгоритм, который для нескольких страниц вырабатывает одно и то же значение параметра currentpage (оно должно соответствовать реально существующей странице для создания действующей ссылки на неё), и разместить шаблон на всех этих страницах.

Для вложенных шаблонов нужно указать child=1, а для родительского стиль содержимого padding:0px;.

Код:

{{Indexcard
|child              = 
|style              = 
|tab-style          = 
|active-tab-style   = 
|inactive-tab-style = 
|content-style      = {{#switch:{{PAGENAME}}
|Страница1|Indexcard/doc|Страница3
|Страница4|Indexcard|Страница6
|Страница7|Страница8|Страница9 = padding:0px;
|#default=}}
|namespace          = Шаблон
|currentpage        = {{#switch:{{PAGENAME}}
|Страница1|Indexcard/doc|Страница3=Тема1
|Страница4|Indexcard|Страница6=Тема2
|Страница7|Страница8|Страница9=Тема3
|#default=}}
|p01       = Тема1
|content01 =Текст темы 1<br>{{Indexcard
  |child     = 1
  |namespace = Шаблон
  |p01 = Страница1
  |content01 = Текст1
  |p02 = Indexcard/doc
  |content02 = Текст2
  |p03 = Страница3
  |content03 = Текст3
  }}
|p02       = Тема2
|content02 = Текст темы 2<br>{{Indexcard
  |child     = 1
  |namespace = Шаблон
  |p01 = Страница4
  |content01 = Текст4
  |p02 = Indexcard
  |content02 = Текст5
  |p03 = Страница6
  |content03 = Текст6
  }}
|p03       = Тема3
|content03 = Текст темы 3<br />{{Indexcard
  |child     = 1
  |namespace = Шаблон
  |p01       = Страница7
  |content01 = Текст7
  |p02       = Страница8
  |content02 = Текст8
  |p03       = Страница9
  |content03 = Текст9
  }}
}}

Соответствующие темы (группы страниц) и страницы записываются в производный шаблон, который уже без дополнительных параметров размещается на всех соответствующих страницах и в качестве параметра использует только название текущей страницы, открывая на ней нужные вкладки.

Результат:

Тема1Тема2Тема3