Classic infobox | |
Description: | {{{prm1}}} |
This is an example of classic infobox template - a simple infobox coded as table. It doesn't rely on another, basis template, like Template:Infobox with LUA coded Module:Infobox. It also uses styles set in Template:Classic infobox/styles.css (see Extension:TemplateStyles, otherwise can be set in MediaWiki CSS pages).
The code of this template and its styles can be copied and modified by anyone to any wiki.
Overview
Table
Infobox is a table. There is two ways to build tables on wiki spaces - using HTML mark up (tags) or using wiki mark up.
Here HTML tags were used:
<table class="infobox"> <tr><td colspan="2" style="text-align: center; font-size:140%;">...</td></tr> ... <tr> <td class="ibfobox-data-title">...</td> <td class="ibfobox-data">...</td> </tr> ... </table>
Wiki mark up variant:
{| class="infobox" |colspan="2" style="text-align: center; font-size:140%;"| ... |- ... |class="ibfobox-data-title"| ... |... |- ... |}
For more information about wiki tables see: Help:Tables.
Parameters
In all templates parameters are placed in the code with triple curly braces: {{{|}}}
. Parameters can have a code name - {{{<codename>|}}}
, which can be placed in any order on actual page, as long as code names are written correctly. Without code names numbers should be used instead - {{{1|}}}
, and on another page template will look at the order of values filled in it.
This example infobox has 5 parameters:
title
- it used to force custom text in a header of infobox
- In the code it looks like this:
{{#if: {{{title|}}}|{{{title|}}}|{{PAGENAME}}}}
- the use of
#if:
parser function means that parameter is optional and won't work if it's not filled {{PAGENAME}}
magic word in the function means that by default template uses title of the page it's used on
- the use of
file
- for an image file
- In the code:
{{#if: {{{file|}}}|<tr><td colspan="2">[[File:{{{file|}}}{{!}}250px{{!}}center]]</td></tr>}}
#if:
once again means it's optional, but in this case there is no default value, in other words, if no image is provided there will nothing; otherwise function adds new row in the table, which will contain image- wiki mark up for images sets how image will be formatted inside infobox, in this case it has fixed width -
250px
, and align -center
, but these values can be set up as another pair of parameters - only name of the file with format is needed
caption
- caption under image
- In the code:
{{#if: {{{caption|}}}|<tr><td colspan="2" style="text-align: center;">''{{{caption|}}}''</td></tr>}}
#if:
- optional, without default value, otherwise adds new row in the table- there text formatting:
style="text-align: center;"
- for align, and''...''
- to give italics to caption
prm1
- first actual data parameter, which has visible title in the infobox - "Parameter 1"
- In the code:
{{{prm1}}}
- it's very simple and there is no function - if left empty, infobox will show "Parameter 1" title, but there will be nothing to show in another column
prm1
- second data parameter, with "Parameter 2" title
- In the code:
{{#if: {{{prm2|}}}|<tr> <td class="ib-data-title">Parameter 2</td> <td class="ib-data">{{{prm2}}}</td> </tr>}}
#if:
again means it's optional, but if filled it will add a row with two columns
Styles
The table uses styles which determinate its look. Here we have:
style=""
, most notably in the header- and several classes
infobox
for entire table - this wiki already has such class in Common.css page; most notably it puts the box into right side of the page and gives it background color and borderibfobox-data-title
- for column with data titles; will be a custom class in Template:Classic infobox/styles.css page - for educational purposes it will brighter than usual Wikipedia styleibfobox-data
- for second column, with data values; same as previous
Categories
With the aid of transclusion tags, infobox can place the page it's used on into a category (or several categories).
In case of this template, code:
{{#ifeq:{{NAMESPACE}}|Template|<!-- do nothing -->|[[Category:Some category]]}}
placed inside <includeonly>
tag, will add the page into "Some category", unless the namespace of that page is "template" - hence "do nothing" commentary bit.
Usage
To use infobox on another page, this code must be used:
{{Classic infobox |title = |file = |caption = |prm1 = |prm2 = }}
Classic infobox | |
Description: |
Per break down above, the only obligatory parameter here {{{prm1}}}
.
If everything is left empty, the output will be:
Code of filled up example:
{{Classic infobox |title = This is the title |file = De Alice's Abenteuer im Wunderland Carroll pic 15.jpg |caption = How far into the template rabbit hole do you go? |prm1 = Flowers |prm2 = Mushrooms}}
This is the title | |||
How far into the template rabbit hole do you go? | |||
Description: | Flowers | ||
Links: | Mushrooms |
Gives: