Template:Infobox/doc
This documentation is largely lifted from Wikipedia. The infobox template is very very robust because it is used a lot on Wikipedia.
Subheader of the infobox | |
Section 1 | |
---|---|
Label A | Data A |
Label C | Data C |
Section 2 | |
Label D | Data D |
Here's an example using a lot of features:
{{Infobox | name = {{subst:PAGENAME}} | title = Text in caption over infobox | subheader = Subheader of the infobox | header = (the rest of the infobox goes here) | header3 = Section 1 | label5 = Label A | data5 = Data A | label7 = Label C | data7 = Data C | header10 = Section 2 | label12 = Label D | data12 = Data D }}
Title
There are two different ways to put a title on an infobox. One contains the title inside the infobox's border in the uppermost cell of the table, the other puts as a caption it on top of the table. You can use both of them together if you like, or just one or the other, or even neither (though this is not recommended):
- title
- Text to put in the caption over the top of the table (or as section header before the whole content of this table, if this is a child infobox). For accessibility reasons, this is the most recommended alternative.
- above
- Text to put within the uppermost cell of the table.
- subheader(n)
- additional title fields which fit below {{{title}}} and {{{above}}}, but before images.
Examples:
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) }}
Images
- image(n)
- images to display at the top of the box. Use full image syntax, for example [[File:example.png|200px|alt=Example alt text]]. Image is centered by default. See WP:ALT for more on alt text.
- caption(n)
- Text to put underneath the images.
Main data
- header(n)
- Text to use as a header in row n.
- label(n)
- Text to use as a label in row n.
- data(n)
- Text to display as data in row n.
Note: for any given value for (n), not all combinations of parameters are permitted. The presence of a |header(n)=
will cause the corresponding |data(n)=
(and |rowclass(n)=
|label(n)=
, see below) to be ignored; the absence of a |data(n)=
will cause the corresponding |label(n)=
to be ignored. Valid combinations for any single row are:
|class(n)=
|header(n)=
|rowclass(n)=
|class(n)=
|data(n)=
|rowclass(n)=
|label(n)=
|class(n)=
|data(n)=
See the rendering of header4, label4, and data4 in the Examples section below.
Number ranges
To allow flexibility when the layout of an infobox is changed, it may be helpful when developing an infobox to use non-contiguous numbers for header and label/data rows. Parameters for new rows can then be inserted in future without having to renumber existing parameters. For example:
| header3 = Section 1 | label5 = Label A | data5 = Data A | label7 = Label C | data7 = Data C | header10 = Section 2 | label12 = Label D | data12 = Data D
It is also possible to automatically renumber parameter names by using User:Frietjes/infoboxgap.js or Module:IncrementParams.
Making data fields optional
A row with a label but no data is not displayed. This allows for the easy creation of optional infobox content rows. To make a row optional use a parameter that defaults to an empty string, like so:
| label5 = Population | data5 = {{{population|}}}
This way if an article doesn't define the population parameter in its infobox the row won't be displayed.
For more complex fields with pre-formatted contents that would still be present even if the parameter wasn't set, you can wrap it all in an "#if" statement to make the whole thing vanish when the parameter is not used. For instance, the "#if" statement in the following example reads "#if:the parameter mass has been supplied |then display it, followed by 'kg'":
| label6 = Mass | data6 = {{ #if: {{{mass|}}} | {{{mass}}} kg }}
- below
- Text to put in the bottom cell. The bottom cell is intended for footnotes, see-also, and other such information.