Difference between revisions of "Template:Infobox"
Tag: Manual revert |
|||
| Line 5: | Line 5: | ||
{{#if: {{{caption|}}}|<tr><td colspan="2" style="text-align: center;">''{{{caption|}}}''</td></tr>}} | {{#if: {{{caption|}}}|<tr><td colspan="2" style="text-align: center;">''{{{caption|}}}''</td></tr>}} | ||
<tr> | <tr> | ||
<td class=" | <td class="ibfobox-data-title">Parameter 1</td> | ||
<td class=" | <td class="ibfobox-data">{{{prm1}}}</td> | ||
</tr> | </tr> | ||
{{#if: {{{prm2|}}}|<tr> | {{#if: {{{prm2|}}}|<tr> | ||
<td class=" | <td class="ibfobox-data-title">Parameter 2</td> | ||
<td class=" | <td class="ibfobox-data">{{{prm2}}}</td> | ||
</tr>}} | </tr>}} | ||
</table>{{#ifeq:{{NAMESPACE}}|Template|<!-- do nothing -->|[[Category:Some category]]}}</includeonly><noinclude>{{Infobox Documentation}}</noinclude> | </table>{{#ifeq:{{NAMESPACE}}|Template|<!-- do nothing -->|[[Category:Some category]]}}</includeonly><noinclude>{{Infobox Documentation}}</noinclude> | ||
Revision as of 06:58, 29 January 2022
This is an example of infobox template - a simple infobox coded as table. It was copied from https://template.miraheze.org/wiki/Template:Classic_infobox
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="infobox-data-title">...</td>
<td class="infobox-data">...</td>
</tr>
...
</table>
Wiki mark up variant:
{| class="infobox"
|colspan="2" style="text-align: center; font-size:140%;"| ...
|-
...
|class="infobox-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 - 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 the 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 the 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="infobox-data-title">Parameter 2</td> <td class="infobox-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
infoboxfor 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 borderinfobox-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 styleinfobox-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:
{{Infobox
|title=
|file=
|caption=
|prm1=something
|prm2=
}}
Per break down above, the only obligatory parameter here {{{prm1}}}.
If everything is left empty, the output will be:
| Infobox | |
| Parameter 1 | |