Шаблон:Infobox

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:22, 12 июля 2016.
Documentation icon Шаблон документации[просмотр] [править] [история] [защитить]
Not to be confused with Template:Userbox.
Шаблон:Dbsbdfb

Этот шаблон используется как мета-шаблон: шаблон, используемый для построения других шаблонов. ' Примечание ' : В общем, он не предназначен для использования непосредственно в статье, но может быть использован при необходимости на разовой основе. Help:Infobox содержит введение о рекомендуемом содержании и дизайне infoboxes. Смотрите WP:List of infoboxes и Category:Infobox templates для списков подготовленных тематических конкретных infoboxes.

Использование

Использование аналогично {{navbox}}, но с дополнительным отличием. Каждая строка в таблице может содержать либо заголовок, либо пару метка/данные, или просто ячейку данных. Это взаимоисключающие состояния, так что если вы определяете строку, как с заголовком и парой метка/данные, пара метка/данные игнорируется.

Для того, чтобы вставить изображение где-нибудь в другом месте, в отличии от верхней части Infobox, или для вставки свободного формата данных, используйте строку только с полем данных.

title
above
subheader
image
caption
image2
caption2
header1
header2
header3
header4
header5
header6
header7
header8
header9
header10
header11
header12
header13
header14
header15
header16
header17
header18
header19
header20
below
{{Infobox
| name           = Infobox/doc
| child          = {{{child|}}}
| subbox         = {{{subbox|}}}
| italic title   = {{{italic title|no}}}
| bodystyle      = bodystyle
| titlestyle     = titlestyle
| abovestyle     = abovestyle
| subheaderstyle = subheaderstyle
| title          = title
| above          = above
| subheader      = subheader
|   imagestyle   = imagestyle
| captionstyle   = captionstyle
|   image        = image
| caption        = caption
|   image2       = image2
| caption2       = caption2
| headerstyle    = headerstyle
|  labelstyle    = labelstyle
|   datastyle    = datastyle
| header1  = header1
|  label1  = label1
|   data1  = data1
| header2  = header2
|  label2  = label2
|   data2  = data2
| header3  = header3
|  label3  = label3
|   data3  = data3
| header4  = header4
|  label4  = label4
|   data4  = data4
| header5  = header5
|  label5  = label5
|   data5  = data5
| header6  = header6
|  label6  = label6
|   data6  = data6
| header7  = header7
|  label7  = label7
|   data7  = data7
| header8  = header8
|  label8  = label8
|   data8  = data8
| header9  = header9
|  label9  = label9
|   data9  = data9
| header10 = header10
|  label10 = label10
|   data10 = data10
| header11 = header11
|  label11 = label11
|   data11 = data11
| header12 = header12
|  label12 = label12
|   data12 = data12
| header13 = header13
|  label13 = label13
|   data13 = data13
| header14 = header14
|  label14 = label14
|   data14 = data14
| header15 = header15
|  label15 = label15
|   data15 = data15
| header16 = header16
|  label16 = label16
|   data16 = data16
| header17 = header17
|  label17 = label17
|   data17 = data17
| header18 = header18
|  label18 = label18
|   data18 = data18
| header19 = header19
|  label19 = label19
|   data19 = data19
| header20 = header20
|  label20 = label20
|   data20 = data20
| belowstyle     = belowstyle
| below          = below
}}
}}

Дополнительные параметры управления

Параметр Описание
name Если этот параметр присутствует, "просмотр/обсуждение/правка" будут добавлены ссылки в нижней части Infobox, указывающие на название страницы. Вы можете использовать значение{{subst:PAGENAME}};Однако, редко, потому, он будет перенаправлять пользователей, нажавших на эти ссылки, в качестве Infobox в статье в коде шаблона, а не данных в Infobox, которые они, вероятно, хотят изменить.
child Смотрите Embedding для деталей. Если установлено значение " да", то этот ребенок Infobox должен быть озаглавлен, но не иметь параметр имени. Этот параметр пуст по умолчанию, установите его на " да", чтобы активировать его.
subbox Смотрите Subboxes для деталей. Если установлено значение " да", этот subbox должен быть озаглавлен, но не иметь параметр имени. Этот параметр пуст по умолчанию, установите значение " да", чтобы активировать его. Это поле не имеет никакого эффекта, если параметр ' ребенок ' также имеет значение "да".
decat Если установлено значение " да", текущая страница не будет автоопределена в категории обслуживания, когда сгенерированный infobox имеет некоторые проблемы или отсутствие видимого раздела данных. Оставьте пустым, по умолчанию, или установите в положение " да", чтобы активировать его.

Параметры содержимого

Титул

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

Параметр Описание
title Текст, который размещает заголовок поверх таблицы (или как заголовок секции перед целым содержанием этой таблицы, если это - ребенок infobox). Для accessibility reasons, это наиболее рекомендуемая альтернатива.
above Текст, который размещен в высшей клетке таблицы.
subheader(n) дополнительные области названия, которые размещены ниже {{{name}}} и {{{above}}}.

Примеры:

Text in caption over infobox
Subheader of the infobox
{{Infobox
 | name = {{subst:PAGENAME}}
 | title      = Text in caption over infobox
 | subheader  = Subheader of the infobox
 | header = (the rest of the infobox goes here)
}}
Text in uppermost cell of infobox
Subheader of the infobox
Second subheader of the infobox
{{Infobox
 | name = {{subst:PAGENAME}}
 | above      = Text in uppermost cell of infobox
 | subheader  = Subheader of the infobox
 | subheader2 = Second subheader of the infobox
 | header = (the rest of the infobox goes here)
}}

Иллюстрация изображений

Параметр Описание
image(n) изображения, которые отображаются вверху шаблона. Используйте синтаксис полного изображения, например [[File:example.png|200px|alt=Example alt text]]. Изображение установлено по умолчанию. Посмотрите WP:ALT для Альт-текста.
caption(n) Текст, помещенный под изображениями.

Основные характеристики

Параметр Описание
header(n) Текст, используемый в качестве последовательных заголовков n.
label(n) Текст, используемый в качестве последовательных этикеток n.
data(n) Текст, показывающий данные последовательно n.

Заметка: для любого данного значения для (n) не разрешены все комбинации параметров. Наличие |header (n)= вызовет передачу |data (n)=|rowclass (n)= |label (n)=, посмотрите ниже) будет проигнорировано; отсутствие |data (n)= заставит проигнорировать передачу |label (n)=. Действительные комбинации для любого единственного ряда:

  • |class(n)= |header(n)=
  • |rowclass(n)= |class(n)= |data(n)=
  • |rowclass(n)= |label(n)= |class(n)= |data(n)=

Посмотрите предоставление header4, label4, и data4 в Примеры секции ниже.

Диапазоны чисел

Обеспечение гибкости, когда изменено расположение infobox - может быть полезно, расширяя infobox, чтобы использовать числа состоящие из нескольких несмежных участков для рядов этикетки/данных и заголовка. Параметры для новых рядов могут быть добавлены в последующем, не имея необходимости перенумеровывания существующих параметров. Например:

 | header3  = Section 1
 |  label5  = Label A
 |   data5  = Data A
 |  label7  = Label C
 |   data7  = Data C
 | header10 = Section 2
 |  label12 = Label D
 |   data12 = Data D

Также возможно автоматически перенумеровать название параметра при помощи User:Frietjes/infoboxgap.js или Module:IncrementParams.

Создание дополнительных полей данных

Ряд с этикеткой, но никакими данными не заполнен. Это допускает легкое создание дополнительных рядов содержания infobox.

 |  label5 = Population
 |   data5 = {{{population|}}}

Это пример показывает, что если в статье не определен параметр Population в своем ряду infobox, то этот ряд не будет показан.

Для более сложных областей, с предварительно отформатированным содержанием, которое все еще присутствовало бы, даже если бы параметр не был установлен, Вы можете обернуть все это в "#if", чтобы заставить все это исчезнуть, когда параметр не используется. Например, "#if" заявление в следующем примере читает "#if:the, параметр масса поставлялся, |then показывают его, как 'kg'":

 |  label6 = Mass
 |   data6 = {{ #if: {{{mass|}}} | {{{mass}}} kg }}

Для большей информации про #if посмотрите тут.

Сокрытие заголовков, когда все поля данных скрыты

Вы можете также сделать заголовки дополнительными аналогичным способом. Рассмотрите этот пример:

Example of an undesirable header
Undesirable header
Static header
Static item Static value
{{Infobox
 | title   = Example of an undesirable header
 | header1 = Undesirable header
 |  label2 = Item 1      |   data2 =
 |  label3 = Item 2      |   data3 =
 |  label4 = Item 3      |   data4 =
 | header5 = Static header
 |  label6 = Static item |   data6 = Static value
}}

Если Вы хотите, чтобы первый заголовок появился, только если существует одно или больше количество полей данных, которые попадают под него и заполнены, можно использовать следующий образец в качестве примера того, как сделать это:

Example of an optional header
Static header
Static item Static value
{{Infobox
 | title   = Example of an optional header
 | header1 = {{ #if: {{{item1|}}}{{{item2|}}}{{{item3|}}} | Optional header }}
 |  label2 = Item 1      |   data2 = {{{item1|}}}
 |  label3 = Item 2      |   data3 = {{{item2|}}}
 |  label4 = Item 3      |   data4 = {{{item3|}}}
 | header5 = Static header
 |  label6 = Static item |   data6 = Static value
}}

header1 покажет, если какой-либо из item1, item2, или item3 будет определен. Если ни один из этих трех параметров не будет определен, то заголовок не покажется, и никакой пустой ряд не появится перед следующим параметром.

Обратите внимание на то, что такая "ловушка" может быть иногда очень сложной для проверки, если есть много элементов данных, значения которых зависят от сложных тестов (или когда ряд данных произведен рекурсивным вызовом этого шаблона как subbox). В идеале, модуль Lua, поддерживающий этот шаблон, должен теперь поддержать новый способ, как сделать каждый ряд заголовка автоскрывающимися по принципу, если есть по крайней мере один непустой ряд данных после того ряда заголовка (параметр как "автоскрывающийся header1 = да", например, устранил бы необходимость выполнить тест "#if" так, чтобы мы могли только определить "header1 = Optional header"),

Колонтитул

Параметр Описание
below Текст, который вставляется в нижнюю клетку. Нижняя клетка предназначена для сносок, также и другой подобной информации.

Параметры представления

Курсивные названия

Названия статей с infoboxes могут быть курсивными, в соответствии с WP:ITALICTITLE, используя italic title параметр.

  • Включите курсивные названия, используя |italic title={{{italic title|}}} от infobox.
  • Выключите по умолчанию (потому что только латинский подлинник может быть безопасно предоставлен в этом стиле, и курсив может быть необходим, чтобы отличить иностранный язык, от местного английского языка только в том подлиннике, но это было бы трудно читабельным для других подлинников), но позвольте в некоторых случаях выделение курсивом, используя |italic title={{{italic title|no}}}
  • Не делайте названия курсивными, не передавая параметр вообще.

CSS Дизайн

Параметр Описание
bodystyle Относится к infobox таблицу в целом
titlestyle Применяется только к заголовку названия. Добавление цвета фона обычно нецелесообразно, так как текст предоставлен "за пределами" infobox.
abovestyle Применяется только к "вышеупомянутой" клетке наверху. У стиля, по умолчанию, есть % шрифта-size:125; так как эта клетка обычно используется для названия. Если Вы хотите использовать вышеупомянутую клетку для текста фиксированного размера, добавьте "% шрифта-size:100"; в abovestyle.
imagestyle Относится к клетке, в которой находится изображение. Это добавляет текст подписи к картинке, но Вы должны установить текстовые свойства с captionstyle вместо imagestyle в случае, если заголовок перемещен из этой клетки в будущем.
captionstyle Относится к тексту подписи к картинке.
rowstyle(n) Этот параметр вставлен в style указанного ряда.
headerstyle Относится ко всем клеткам заголовка
labelstyle Относится ко всем клеткам этикетки
datastyle Относится ко всем клеткам данных
belowstyle Применяется только к клетке ниже

Классы HTML и микроформаты

Параметр Описание
bodyclass Этот параметр вставлен в class в infobox в целом.
titleclass Этот параметр вставлен в class в infobox title заголовка.
aboveclass Этот параметр вставлен в class в infobox's выше call.
subheaderrowclass(n) Этот параметр вставлен в class в заполненной таблице. Включает подзаголовок.
subheaderclass(n) Этот параметр вставлен в class в infobox's subheader.
imagerowclass(n) Этот параметр вставлен в class в заполненной таблице. Включает соответствующее image.
imageclass Этот параметр вставлен в class в image.
rowclass(n) Этот параметр вставлен в class в указанного ряда включая label и data вызовы.
class(n) Этот параметр вставлен в class в data вызов указанного ряда. Если есть не данные вызова, то они не имеют никакого эффекта.
belowrowclass Этот параметр вставлен в class в ряд заполненной таблицы. Идет ниже вызова.
belowclass Этот параметр вставлен в class в infobox's ниже вызова.

Этот шаблон поддерживает добавление информации о микроформате. Это сделано для того, что бы при добавлении, "класс" приписывал различным клеткам данные, указывая, какая информация содержится в его пределах. Многократные названия классов могут быть определены, отделены пробелами, некоторые из них используются в качестве фильтров политике проекта или оболочке, отобранной в пользовательских предпочтениях, другие beig используются для микроформатов.

Чтобы выделить infobox как содержащий hCard информацию, например, добавьте следующий параметр:

 | bodyclass = vcard

И для каждого ряда, содержащего вызов данных, это - часть vcard, добавьте соответствующий параметр класса:

 | class1 = fn
 | class2 = org
 | class3 = tel

Примеры

Заметьте, как ряд не появляется в показанном infobox, когда этикетка определена без сопровождения данных клетки, и как все они отображаются, когда заголовок определен в том же самом ряду, что и данные в клетке. Также заметьте, что подзаголовки не установлены по умолчанию как заголовки. Раньше разделяли главную секцию данных, потому что это место предназначалось для того, чтобы вставлять данные выше клетки :

Test Infobox
Above text
Subheader above image
Second subheader
200px
Caption displayed below File:Example-serious.jpg
Header defined alone
Data defined alone
All three defined (header, label, data, all with same number)
Label and data defined (label) Label and data defined (data)
Below text
{{Infobox
 |name         = {{subst:PAGENAME}}
 |bodystyle    = 

 |titlestyle   = 
 |abovestyle = background:#cfc;
 |subheaderstyle =
 |title        = Test Infobox
 |above        = Above text
 |subheader    = Subheader above image
 |subheader2   = Second subheader

 |imagestyle   = 
 |captionstyle = 
 |  image      = [[File:Example-serious.jpg|200px|alt=Example alt text]]
 |caption      = Caption displayed below Example-serious.jpg

 |headerstyle  = background:#ccf;
 |labelstyle   = background:#ddf;
 |datastyle    = 

 |header1 = Header defined alone
 | label1 = 
 |  data1 = 
 |header2 = 
 | label2 = Label defined alone does not display (needs data, or is suppressed)
 |  data2 = 
 |header3 =
 | label3 = 
 |  data3 = Data defined alone
 |header4 = All three defined (header, label, data, all with same number)
 | label4 = does not display (same number as a header)
 |  data4 = does not display (same number as a header)
 |header5 =
 | label5 = Label and data defined (label)
 |  data5 = Label and data defined (data)

 |belowstyle = background:#ddf;
 |below      = Below text
}}

Для этого примера bodystile и labelstyle параметры используется, чтобы определить ширину infobox и определить ширину по умолчанию для колонки этикеток:

Test Infobox
Label 1 Data 1
Label 2 Data 2
Label 3 Data 3
Header 4
Label 5 Data 5: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Below text
{{Infobox
 |name        = {{subst:PAGENAME}}
 |bodystyle   = width:20em

 |titlestyle  = 
 |title       = Test Infobox

 |headerstyle = 
 |labelstyle  = width:33%
 |datastyle   = 

 |header1 = 
 | label1 = Label 1
 |  data1 = Data 1
 |header2 = 
 | label2 = Label 2
 |  data2 = Data 2
 |header3 = 
 | label3 = Label 3
 |  data3 = Data 3
 |header4 = Header 4
 | label4 = 
 |  data4 = 
 |header5 = 
 | label5 = Label 5
 |  data5 = Data 5: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

 |belowstyle = 
 |below = Below text
}}

Embedding

Один infobox шаблон может быть включен в другой, используя |child= параметр. Эта функция может быть использована, чтобы создать модульный infobox или создать более хорошо определенные логические секции. Ранее, было необходимо использовать вложение, чтобы создавать infoboxes больше чем с 99 рядами, но теперь нет никакого предела числу рядов, которые могут быть определены в единственном экземпляре {{infobox}}.

</td></tr></td></tr>
Top level title
First subsection
Label 1.1 Data 1.1
Second subsection
Label 2.1 Data 2.1
Below text
{{Infobox
 | title = Top level title
 | data1 = {{Infobox | decat = yes | child = yes
    | title = First subsection
    | label1= Label 1.1
    | data1 = Data 1.1
   }}
 | data2 = {{Infobox | decat = yes | child = yes
  |title = Second subsection
  | label1= Label 2.1
  | data1 = Data 2.1
  }}
 | belowstyle = 
 | below = Below text
}}
</th></tr></th></tr>
Top level title
First subsection
Label 1.1 Data 1.1
Second subsection
Label 2.1 Data 2.1
Below text
{{Infobox
 | title = Top level title
 | header1 = {{Infobox | decat = yes | child = yes
    | title = First subsection
    | label1= Label 1.1
    | data1 = Data 1.1
   }}
 | header2 = {{Infobox | decat = yes | child = yes
    | title = Second subsection
    | label1= Label 2.1
    | data1 = Data 2.1
   }}
 | belowstyle = 
 | below = Below text
}}

или,

</th></tr></th></tr>
Top level title
First subsection
Label 1.1 Data 1.1
Second subsection
Label 2.1 Data 2.1
Below text
{{Infobox
 | title = Top level title
 | header1 = First subsection
   {{Infobox | decat = yes | child = yes
    | label1 = Label 1.1
    |   data1 = Data 1.1
   }}
 | header2 = Second subsection
   {{Infobox | decat = yes | child = yes
    | label1 = Label 2.1
    |  data1 = Data 2.1
   }}
 | belowstyle = 
 | below = Below text
}}

Обратите внимание на то, что исключение |title= параметра, не включая любой текст, предшествующий вложенному в infobox, может привести к непредусмотренным чистым строкам таблицы, создав промежутки в визуальном представлении.

Subboxes

Альтернативный метод для вложения должен использовать |subbox=yes, который удаляет внешнюю границу из infobox, но сохраняет внутреннюю структуру. Одна особенность этого подхода - то, что у Subboxes родителя и ребенка не должно быть одной и той же самой структуры и этикетки, и поля данных не должны быть выровнены между infobox родителя и ребенка потому, что они не находятся на той же самой родительской таблице.

Main 1
Main 2
Sub 3-1
Sub 3-2
Label 3-3 Data 3-3
Label 4-1 Data 4-1
Label 5 Data 5
Main 6
{{Infobox
 | headerstyle = background-color:#eee;
 | labelstyle  = background-color:#eee;
 | header1 = Main 1
 | header2 = Main 2
 |   data3 = {{Infobox | subbox = yes
    | headerstyle = background-color:#ccc;
    | labelstyle  = background-color:#ddd;
    | header1 = Sub 3-1
    | header2 = Sub 3-2
    |  label3 = Label 3-3    |   data3 = Data 3-3
   }}
 |   data4 = {{Infobox | subbox = yes
    | labelstyle  = background-color:#ccc;
    |  label1 = Label 4-1    |   data1 = Data 4-1
   }}
 |  label5 = Label 5 |   data5 = Data 5
 | header6 = Main 6
}}

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

{{Sidebar
 | navbar = off
 | headingstyle = background-color:#eee;
 | heading1 = Heading 1
 | heading2 = Heading 2
 | content3 = {{Infobox | subbox = yes
    | headerstyle = background-color:#ccc;
    | labelstyle = background-color:#ddd;
    | header1 = Sub 3-1
    | header2 = Sub 3-2
    |  label3 = Label 3-3 |   data3 = Data 3-3
   }}
 | content4 = {{Infobox | subbox = yes
    | labelstyle = background-color:#ccc;
    |  label1 = Label 4-1 |   data1 = Data 4-1
   }}
 | heading5 = Heading 5
}}

Управление ломкой линией во вложенных списках bulletless

Шаблон {{nbsp}} может использоваться с {{wbr}} и {{nowrap}} для того, чтобы управлять кривой линией в списках bulletless, включенных в infoboxes (например, бросьте список в {{Infobox фильм}}), чтобы препятствовать тому, чтобы обертываемые долгие записи были перепутаны с многократными записями. Посмотрите Template:Wbr/doc#Controlling line-breaking in infoboxes для деталей.

Полный чистый синтаксис

{{Infobox
| name           = {{subst:PAGENAME}}
| child          = {{{child|}}}
| subbox         = {{{subbox|}}}
| italic title   = {{{italic title|no}}}
| bodystyle      = 

| titlestyle     = 
| abovestyle     = 
| subheaderstyle = 
| title          = 
| above          = 
| subheader      = 

|   imagestyle   = 
| captionstyle   = 
|   image        = 
| caption        = 
|   image2       = 
| caption2       = 

| headerstyle    = 
|  labelstyle    = 
|   datastyle    = 
| header1  = 
|  label1  = 
|   data1  = 
| header2  = 
|  label2  = 
|   data2  = 
| header3  = 
|  label3  = 
|   data3  = 
| header4  = 
|  label4  = 
|   data4  = 
| header5  = 
|  label5  = 
|   data5  = 
| header6  = 
|  label6  = 
|   data6  = 
| header7  = 
|  label7  = 
|   data7  = 
| header8  = 
|  label8  = 
|   data8  = 
| header9  = 
|  label9  = 
|   data9  = 
| header10 = 
|  label10 = 
|   data10 = 
| header11 = 
|  label11 = 
|   data11 = 
| header12 = 
|  label12 = 
|   data12 = 
| header13 = 
|  label13 = 
|   data13 = 
| header14 = 
|  label14 = 
|   data14 = 
| header15 = 
|  label15 = 
|   data15 = 
| header16 = 
|  label16 = 
|   data16 = 
| header17 = 
|  label17 = 
|   data17 = 
| header18 = 
|  label18 = 
|   data18 = 
| header19 = 
|  label19 = 
|   data19 = 
| header20 = 
|  label20 = 
|   data20 = 

| belowstyle     =
| below          = 
}}