Template:Infobox/doc

This template is intended as a meta-template, that is, a template that's used when constructing other templates. It's not meant for use directly in an article. See Help:Infobox for information on how to craft infoboxes in general.

Usage
Usage is similar to navbox, but with an additional distinction. Each row on the table can either be a "header", or it can have a label/data pair, or it can just be a data cell. These are mutually exclusive states so if you define a row to be both a header and a label/data pair, the label/data pair is overridden.

See WikiProject Microformats for more information on adding microformat information to Wikipedia, and microformats.org for more information on microformats in general.

Making 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 =

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-formated 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 =

For more on #if, see here. You can also make headers optional in a similar way. If you want a header to appear only if one or more of the data fields that fall under it are filled, one could use the following pattern as an example of how to do it:



header1 will be shown if any of item_one, item_two, or item_three is defined. If none of the three parameters are defined the header won't be shown.

The trick to this is that the "if" returns false only if there is nothing whatsoever in the conditional section, so only if all three of item_one, item_two and item_three are undefined will the if statement fail.

Examples


Notice how when a label is defined without an accompanying data cell the row doesn't appear in the displayed infobox, and when a header is defined on the same row as a data cell the header takes precedence.

For this example, bodystyle &#0061; width:20em; and labelstyle &#0061; width:33%;

Full blank syntax
(Note: the template currently handles up to 80 rows; only 20 are included here since infoboxes larger than that will be relatively rare. Just extend the numbering as needed. The microformat "class" parameters are also omitted as they are not commonly used.)

