Этот шаблон задуман как меташаблон: шаблон, используемый для создания других шаблонов. Примечание . Как правило, он не предназначен для использования непосредственно в статье, но при необходимости его можно использовать разово. Справка:Информационный блок содержит введение о рекомендуемом содержимом и дизайне информационных блоков; Википедия:Руководство по стилю/информационным окнам содержит дополнительные рекомендации по стилю. См. WP:Список информационных блоков и Категория:Шаблоны информационных блоков для получения списков подготовленных информационных блоков по конкретным темам.
{{Infobox}} — это меташаблон: используется для организации фактического шаблона {{Infobox sometopic}} (например, {{ Building Infobox }}).
Для [[Template:Infobox sometopic]]
кода шаблона в упрощенном виде это выглядит следующим образом:
{{ Инфобокс | имя = {{{ имя |{{ ИМЯ СТРАНИЦЫ }}}}} | изображение = {{{ изображение |}}} | подпись1 = {{{ подпись |}}}| label1 = Прежние имена | data1 = {{{ прежние_имена |}}}| заголовок2 = Общая информация| метка3 = Статус | data3 = {{{ status |}}}
... <!-- и т. д. --> }}
Template:
если пространство имен не указано. Вы можете использовать значение {{subst:PAGENAME}}; однако это редко бывает тем, что вам нужно, поскольку пользователи, щелкающие эти ссылки в информационном окне, будут отправляться к коду шаблона, а не к данным в информационном окне, которые они, вероятно, захотят изменить.Есть два разных способа разместить заголовок в информационном поле. Один содержит заголовок внутри границы информационного поля в самой верхней ячейке таблицы, другой помещает его в качестве заголовка поверх таблицы. Вы можете использовать их оба вместе, либо только один, либо ни один из них (хотя это не рекомендуется):
Примеры:
{{ Инфобокс | имя = {{ subst : ИМЯ СТРАНИЦЫ }} | title = Текст в заголовке над информационным окном | subheader = Подзаголовок информационного окна | header = (здесь находится остальная часть информационного поля) }}
{{ Инфобокс | имя = {{ subst : ИМЯ СТРАНИЦЫ }} | выше = Текст в самой верхней ячейке информационного окна | subheader = Подзаголовок информационного окна | subheader2 = Второй подзаголовок информационного окна | header = (здесь находится остальная часть информационного поля) }}
Примечание. Для любого заданного значения (n) не все комбинации параметров разрешены. Наличие a приведет к игнорированию соответствующего (и , см. ниже); отсутствие воли приведет к игнорированию соответствующего . Допустимые комбинации для любой отдельной строки:|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 в разделе «Примеры» ниже.
Чтобы обеспечить гибкость при изменении макета информационного окна, при разработке информационного окна может быть полезно использовать несмежные числа для строк заголовка и меток/данных. Параметры для новых строк можно будет вставлять в будущем без необходимости перенумерации существующих параметров. Например:
| заголовок3 = Раздел 1 | label5 = Метка A | данные5 = Данные А | label7 = Метка C | данные7 = Данные C | заголовок10 = Раздел 2 | label12 = Метка D | данные12 = Данные D
Также можно автоматически перенумеровать имена параметров, используя User:Frietjes/infoboxgap.js или Module:IncrementParams .
Верхнего предела количества номеров нет, но их должно быть не более 50 между каждым используемым номером.
Строка с меткой, но без данных, не отображается. Это позволяет легко создавать дополнительные строки содержимого информационного окна. Чтобы сделать строку необязательной, используйте параметр, который по умолчанию равен пустой строке, например:
| label5 = Население | data5 = {{{ население |}}}
Таким образом, если статья не определяет параметр населения в своем информационном поле, строка не будет отображаться.
Для более сложных полей с предварительно отформатированным содержимым, которое все равно будет присутствовать, даже если параметр не будет установлен, вы можете обернуть все это в оператор «#if», чтобы все это исчезло, когда параметр не используется. Например, оператор «#if» в следующем примере гласит: «#if: указана масса параметра |тогда отобразите ее, а затем «кг»:
| label6 = Масса | data6 = {{ #if : {{{ масса |}}} | {{{ масса }}} кг }}
Подробнее о #if см. здесь.
Вы также можете автоматически скрывать заголовки, когда их раздел пуст (не отображается строка данных).
Рассмотрим такую ситуацию:
{{ Инфобокс | title = Пример: заголовок с данными и без | стиль заголовка = фон: светло-серый | header1 = Заголовок1 с пустым разделом | label2 = текст label2 | данные2 = | label3 = текст label3 | данные3 = | label4 = текст label4 | данные4 = | header5 = Header5 с данными ниже | label6 = текст label6 | data6 = Некоторое значение }}
Если вы хотите скрыть заголовок, когда значения отсутствуют, используйте :|dataN=
|autoheaders=y
{{ Инфобокс | title = Пример: заголовок с данными и без | автозаголовки = y | стиль заголовка = фон: светло-серый | header1 = Заголовок1 с пустым разделом | label2 = текст label2 | данные2 = | label3 = текст label3 | данные3 = | label4 = текст label4 | данные4 = | header5 = Header5 с данными ниже | label6 = текст label6 | data6 = Некоторое значение }}
Таким образом, заголовок1 будет отображаться, если определен какой-либо из элементов item1, item2 или item3. Если ни один из трех параметров не определен, заголовок не будет отображаться, и перед следующим видимым содержимым не появится пустая строка.
Примечание. Если данные содержат пустые элементы CSS, например |data=<span style="background:yellow;"></span>
, они будут считаться непустыми (имеющими данные).
Если |autoheaders=y
есть элементы, которые вы не хотите вызывать в заголовке, поместите |headerX=_BLANK_
. Это будет пустой заголовок и отделит его от последующих элементов.
{{ Инфобокс | title = Пример: заголовок с данными и без | автозаголовки = y | стиль заголовка = фон: светло-серый | header1 = Заголовок1 с пустым разделом | label2 = текст label2 | данные2 = | label3 = текст label3 | данные3 = | label4 = текст label4 | данные4 = | заголовок5 = _ПУСТОЙ_ | label6 = текст label6 | data6 = Некоторое значение, но не вызывает заголовок1 или не показывает заголовок5 }}
Заголовки статей с информационными блоками можно выделить курсивом в соответствии с WP:ITALICTITLE , передав italic title
параметр.
|italic title={{{italic title|}}}
из информационного окна.|italic title={{{italic title|no}}}
style
атрибут указанной строки.class
атрибут инфобокса в целом.class
информационного поля .class
ячейки информационного поля .class
атрибут всей строки таблицы, в которой находится подзаголовок .class
информационного поля .class
атрибут всей строки таблицы, в которой находится соответствующее изображение .class
изображения .class
атрибут указанной строки, включая метку и ячейки данных .class
атрибут ячейки данных указанной строки. Если ячейки данных нет, это не имеет никакого эффекта.class
ячейки информационного поля .Этот шаблон поддерживает добавление информации в микроформате. Это делается путем добавления атрибутов «класса» к различным ячейкам данных, указывающих, какой тип информации содержится внутри. Можно указать несколько имен классов, разделенных пробелами, некоторые из них используются в качестве селекторов для пользовательского стиля в соответствии с политикой проекта или скином, выбранным в настройках пользователя, другие используются для микроформатов.
Например, чтобы пометить информационный блок как содержащий информацию hCard , добавьте следующий параметр:
| класс тела = vcard
И для каждой строки, содержащей ячейку данных, являющуюся частью vcard, добавьте соответствующий параметр класса:
| класс1 = фн | класс2 = организация | класс3 = тел.
...и так далее. «Above» и «title» также могут быть присвоены классы, поскольку они обычно используются для отображения названия темы информационного окна.
См . Wikipedia:WikiProject Microformats для получения дополнительной информации о добавлении информации о микроформатах в Википедию, а также microformat для получения дополнительной информации о микроформатах в целом.
Обратите внимание, что строка не отображается в отображаемом информационном окне, когда метка определена без сопровождающей ячейки данных , и как все они отображаются, когда заголовок определен в той же строке, что и ячейка данных . Также обратите внимание, что подзаголовки по умолчанию не выделены жирным шрифтом, как заголовки , используемые для разделения основного раздела данных, поскольку эта роль предназначена для указанной выше ячейки:
{{ Инфобокс | имя = Инфобокс/документ | стиль тела = | стиль заголовка = | вышестиль = фон:#cfc; | стиль подзаголовка = | title = Тестовое информационное окно | выше = Над текстом | subheader = Подзаголовок над изображением | subheader2 = второй подзаголовок | стиль изображения = | стиль подписи = | изображение = [[ Файл : Пример-серьезный.jpg | 200 пикселей | alt = Пример замещающего текста ]] | caption = Подпись отображается под файлом File:Example-serious.jpg | стиль заголовка = фон:#ccf; | labelstyle = фон:#ddf; | стиль данных = | header1 = Заголовок определен отдельно | метка1 = | данные1 = | заголовок2 = | label2 = Метка, определенная отдельно, не отображается (нужны данные или она скрыта) | данные2 = | заголовок3 = | метка3 = | data3 = Данные определены отдельно | header4 = Все три определены (заголовок, метка, данные, все с одинаковым номером) | label4 = не отображается (тот же номер, что и в заголовке) | data4 = не отображается (тот же номер, что и в заголовке) | заголовок5 = | label5 = Метка и данные определены (метка) | data5 = Метка и данные определены (данные) | нижестиль = фон:#ddf; | ниже = Ниже текста }}
В этом примере параметры |bodystyle=
и |labelstyle=
используются для настройки ширины информационного поля и определения ширины по умолчанию для столбца меток:
{{ Инфобокс | имя = Инфобокс/документ | стиль кузова = ширина: 20em | стиль заголовка = | title = Тестовое информационное окно | стиль заголовка = | стиль метки = ширина: 33% | стиль данных = | заголовок1 = | метка1 = Метка 1 | данные1 = Данные 1 | заголовок2 = | метка2 = Метка 2 | данные2 = Данные 2 | заголовок3 = | метка3 = Метка 3 | данные3 = Данные 3 | заголовок4 = Заголовок 4 | метка4 = | данные4 = | заголовок5 = | метка5 = Метка 5 | data5 = Данные 5: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut Labore et dolore magna aliqua. | стиль ниже = | ниже = Ниже текста }}
Один шаблон инфобокса можно встроить в другой с помощью |child=
параметра. Эту функцию можно использовать для создания модульного информационного окна или для создания более четко определенных логических разделов. Давным-давно необходимо было использовать встраивание для создания инфобоксов с числом строк более 99; но в настоящее время нет ограничений на количество строк, которые можно определить в одном экземпляре {{infobox}}
.
{{ Инфобокс | title = Заголовок верхнего уровня | данные1 = {{ Информационное окно | декат = да | ребенок = да | title = Первый подраздел | метка1 = Метка 1.1 | данные1 = Данные 1.1 }} | данные2 = {{ Информационное окно | декат = да | ребенок = да | title = Второй подраздел | метка1 = Метка 2.1 | данные1 = Данные 2.1 }} | стиль ниже = | ниже = Ниже текста }}
Обратите внимание: в приведенных выше примерах дочернее информационное окно размещается в поле data
, а не в header
поле. Обратите внимание, что подзаголовки разделов не выделяются жирным шрифтом, если выделение жирным шрифтом не указано явно. Чтобы получить заголовки разделов, выделенные жирным шрифтом, поместите дочернее информационное поле в поле заголовка (но не в поле метки , поскольку оно не будет отображаться!), либо используя
{{ Инфобокс | title = Заголовок верхнего уровня | заголовок1 = {{ Информационное окно | декат = да | ребенок = да | title = Первый подраздел | метка1 = Метка 1.1 | данные1 = Данные 1.1 }} | заголовок2 = {{ Информационное поле | декат = да | ребенок = да | title = Второй подраздел | метка1 = Метка 2.1 | данные1 = Данные 2.1 }} | стиль ниже = | ниже = Ниже текста }}
или,
{{ Инфобокс | title = Заголовок верхнего уровня | header1 = Первый подраздел {{ Информационное окно | декат = да | ребенок = да | метка1 = Метка 1.1 | данные1 = Данные 1.1 }} | header2 = Второй подраздел {{ Информационное поле | декат = да | ребенок = да | метка1 = Метка 2.1 | данные1 = Данные 2.1 }} | стиль ниже = | ниже = Ниже текста }}
Обратите внимание, что пропуск |title=
параметра и отсутствие текста перед встроенным информационным полем может привести к появлению ложных пустых строк таблицы, что приведет к появлению пробелов в визуальном представлении. Вывод мусора можно подавить с помощью |rowstyleN=display: none
, заменив N номером данных/заголовка.
Wikipedia:WikiProject Infoboxes/embed включает в себя несколько ссылок на статьи Википедии, которые включают информационные блоки, встроенные в другие информационные блоки.
Альтернативный метод встраивания — использовать |subbox=yes
, который удаляет внешнюю границу информационного поля, но сохраняет внутреннюю структуру. Одной из особенностей этого подхода является то, что родительский и дочерний блоки не обязательно должны иметь одинаковую структуру, а поля меток и данных не выравниваются между родительским и дочерним блоками, поскольку они не находятся в одной родительской таблице.
{{ Инфобокс | headerstyle = цвет фона:#eee; | labelstyle = цвет фона:#eee; | заголовок1 = Основной 1 | заголовок2 = Основной 2 | данные3 = {{ Информационное окно | подполе = да | стиль заголовка = цвет фона:#ccc; | labelstyle = цвет фона:#ddd; | заголовок1 = Sub 3-1 | заголовок2 = Sub 3-2 | label3 = Метка 3-3 | данные3 = Данные 3-3 }} | data4 = {{ Информационное окно | подполе = да | labelstyle = цвет фона:#ccc; | метка1 = Метка 4-1 | данные1 = Данные 4-1 }} | метка5 = Метка 5 | данные5 = Данные 5 | заголовок6 = Основной 6 }}
Подобные методы внедрения могут использоваться в параметрах контента некоторых других таблиц, генерирующих шаблоны (например, Sidebar ):
{{ Боковая панель | панель навигации = выключено | headingstyle = цвет фона:#eee; | заголовок1 = Заголовок 1 | заголовок2 = Заголовок 2 | content3 = {{ Информационное окно | подполе = да | стиль заголовка = цвет фона:#ccc; | labelstyle = цвет фона:#ddd; | заголовок1 = Sub 3-1 | заголовок2 = Sub 3-2 | label3 = Метка 3-3 | данные3 = Данные 3-3 }} | content4 = {{ Информационное окно | подполе = да | labelstyle = цвет фона:#ccc; | метка1 = Метка 4-1 | данные1 = Данные 4-1 }} | заголовок5 = Заголовок 5 }}
Обратите внимание, что заполнение по умолчанию родительской ячейки данных, содержащей каждый подполе, по-прежнему видно, поэтому подполя немного уже, чем родительский блок, и между стандартными ячейками родительского поля существует более высокий интервал по вертикали, чем между ячейками отдельных подполей.
Шаблон можно использовать с и для управления переносом строк в списках без маркеров, встроенных в информационные поля (например, список приведения в ), чтобы предотвратить путаницу обернутых длинных записей с несколькими записями. Подробности см. в разделе Шаблон:Wbr/doc#Управление переносом строк в информационных полях .{{nbsp}}
{{wbr}}
{{nowrap}}
{{Infobox film}}
(Примечание: количество возможных строк не ограничено; ниже приведены только 20, поскольку информационные поля большего размера будут относительно редки. Просто расширьте нумерацию по мере необходимости. Параметры «класса» микроформата также опускаются, поскольку они обычно не используются. использовал.)
{{ Инфобокс | имя = {{ subst : ИМЯ СТРАНИЦЫ }} | ребенок = {{{ ребенок |}}} | подполе = {{{ подполе |}}} | курсив заголовок = {{{ курсив заголовок | нет }}} | шаблоны = | дочерние шаблоны = | внук шаблонов = | стиль тела = | стиль заголовка = | вышестиль = | стиль подзаголовка = | заголовок = | выше = | подзаголовок = | стиль изображения = | стиль подписи = | изображение = | подпись = | изображение2 = | подпись2 = | стиль заголовка = | стиль метки = | стиль данных = | заголовок1 = | метка1 = | данные1 = | заголовок2 = | метка2 = | данные2 = | заголовок3 = | метка3 = | данные3 = | заголовок4 = | метка4 = | данные4 = | заголовок5 = | метка5 = | данные5 = | заголовок6 = | метка6 = | данные6 = | заголовок7 = | метка7 = | данные7 = | заголовок8 = | метка8 = | данные8 = | заголовок9 = | метка9 = | данные9 = | заголовок10 = | метка10 = | данные10 = | заголовок11 = | метка11 = | данные11 = | заголовок12 = | метка12 = | данные12 = | заголовок13 = | метка13 = | данные13 = | заголовок14 = | метка14 = | данные14 = | заголовок15 = | метка15 = | данные15 = | заголовок16 = | метка16 = | данные16 = | заголовок17 = | метка17 = | данные17 = | заголовок18 = | метка18 = | данные18 = | заголовок19 = | метка19 = | данные19 = | заголовок20 = | метка20 = | данные20 = | стиль ниже = | ниже = }}
Пользователи могут использовать пользовательский CSS , который скрывает любые информационные поля в их браузерах.
Чтобы скрыть все информационные поля, добавьте следующее в Special:MyPage/common.css (для всех скинов или Special:MyPage/skin.css только для текущего скина) в отдельной строке:
дел . mw-парсер-выход . информационное окно { дисплей : нет ; }
Альтернативно вы можете добавить следующий код в свой common.js или в пользовательский скрипт браузера, который выполняется расширением, например Greasemonkey :
$ ( '.infobox' ). скрывать ();
Имейте в виду, что, хотя согласно WP:Manual of Style/Infoboxes вся информация в информационном окне в идеале должна также находиться в основной части статьи, полного соответствия этому правилу не существует. Например, полная таксономическая иерархия в России , а также коды OMIM и других медицинских баз данных часто не встречаются в основном содержании статьи. Информационный блок также часто является местом расположения наиболее значимого или даже единственного изображения в статье. Существует пользовательский скрипт, который удаляет информационные поля, но перемещает содержащиеся в них изображения в отдельные миниатюры: User:Maddy из Celeste/disinfobox.js .{{Taxobox}}
{{Infobox disease}}
Для шаблона информационного окна требуются расширения Scribunto и TemplateStyles. WikiProject Transwiki имеет версию этого шаблона, модифицированную для работы с другими MediaWiki.
Данные шаблона для информационного окна
Этот шаблон задуман как меташаблон, шаблон, используемый для создания других шаблонов. Как правило, он не предназначен для использования непосредственно в статье, но при необходимости может использоваться разово.