Template:Infobox

From Tribes Ascend Wiki
Jump to: navigation, search
Template documentation (for the template shown above, sometimes hidden or invisible)

This template is intended as a meta-template: a template used for constructing other templates. It is not meant for use directly in an article. See Category:Infobox templates for specific infobox templates.

Usage[edit]

Each row on the table can contain either a header, or a label/data pair, or just a data cell. These are mutually exclusive states so if you define a row with both a header and a label/data pair or just data, then the label/data pair or just data is ignored.

To insert an image somewhere other than at the top of the infobox, or to insert freeform data, use a row with only a data field.

Parameters[edit]

Infobox layout[edit]

caption

Text to put in the caption over the top of the table.

data1 to data80

Text to display as data in row.

footer

Text to put in the bottom cell. The bottom cell is intended for footnotes, see-also, and other such information.

header1 to header80

Text to use as a header in row.

label1 to label80

Text to use as a label in row.

image

Image to display at the top of the template. Use filename (without "File:" prefix), for example <ocde>example.png</code>. Image is centered and formatted by default.

imagecaption

Text to put underneath the image.

link

If this parameter is present, "view/discuss/edit" links will be added to the bottom of the infobox, pointing to the named template. You can use {{subst:PAGENAME}}.

subheader, subheader2

Additional subheader title fields which fit below title.

supheader, supheader2

Additional superheader title fields which fit above title.

title

Text to put within the uppermost cell of the table.

CSS styling[edit]

bodystyle

Applies to the infobox table as a whole.

captionstyle

Applies only to the infobox caption. Adding a background color is usually inadvisable since the text is rendered "outside" the infobox.

datastyle

Applies to all data cells.

footerstyle

Applies only to the footer cell.

headerstyle

Applies to all header cells.

imagestyle

Applies to the cell the image is in. This includes the text of the image caption, but you should set text properties with imagecaptionstyle instead of imagestyle in case the caption is moved out of this cell in the future.

imagecaptionstyle

Applies to the text of the image caption.

labelstyle

Applies to all label cells.

titlestyle

Applies only to the "title" cell at the top. The default style has font-size: 16px; since this cell is usually used for a title, if you want to use the above cell for regular-sized text include font-size: 13px; in the titlestyle.

HTML classes[edit]

bodyclass

This parameter is inserted into the "class" attribute for the infobox as a whole.

captionclass

This parameter is inserted into the "class" attribute for the infobox's caption.

class1 to class80

This parameter is inserted into the "class" attribute for the data cell of the specified row. If there's no data cell it has no effect.

footerclass

This parameter is inserted into the "class" attribute for the infobox's footer cell.

imageclass

This parameter is inserted into the "class" attribute for the image.

rowclass1 to rowclass80

This parameter is inserted into the "class" attribute for the specified row including the label or other explanatory text.

titleclass

This parameter is inserted into the "class" attribute for the infobox's title cell.

Number ranges[edit]

Row numbers may be from 1 to 80. 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 B
|label7   = Label C
|data7    = Data C
|header10 = Section 2
|label12  = Label D
|data12   = Data D

Making fields optional[edit]

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:

|label1 = label name
|data1  = {{{data required|}}}

This way if an article doesn't define the data required 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 cost has been supplied |then display it, followed by 'XP'":

|label1 = Cost
|data1  = {{#if:{{{cost|}}}|{{{cost}}} XP}}

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 = {{#if:{{{item_one|}}}{{{item_two|}}}{{{item_three|}}}|Optional header}}
|label2  = Item one
|data2   = {{{item_one|}}}
|label3  = Item two
|data3   = {{{item_two|}}}
|label4  = Item three
|data4   = {{{item_three|}}}

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.

Copy/paste[edit]

Note: the template 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.
{{Infobox
|bodystyle    =
|suptitle     =
|title        ={{PAGENAME}}
|titlestyle   =

|imagestyle   =
|captionstyle =

|image        ={{{|}}}
|imagecaption ={{{|}}}

|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       ={{{|}}}

|footerstyle  ={{{|}}}
|footer       ={{{|}}}

|link         =
}}
Documentation transcluded from Template:Infobox/doc.