Help:Templates
Templates are tools used in our articles that serve to both provide consistency and simplify the editing process. They may be used to quickly and easily build tables or infoboxes, or they could be used as link shortcuts. For a list of usable templates, see Category:Templates.
Using templates
To use a template, the following syntax should be used: {{TemplateName}}
. This is called "transclusion". For example, to use the template {{example}}, one would insert {{example}} in the place where the template should be included. The result will be the contents of Template:Example:
The template was successfully included in this page.
Template parameters
Sometimes, a template will have required or optional parameters that need to be specified on the template's use. There are two methods of supplying parameters (which one should be used depends on the template in question):
- Supplying parameters in a unnamed list. This is typically done with templates with a low number of parameters, such as {{SSB}}. To do this, simply add a bar ("|") after the template name, followed by the parameter's contents. This is to follow a {{TemplateName|Param1|Param2|Param3...}} format.
- Example: {{SSB|Mario}} returns Mario
- Supplying named parameters. This is usually used with templates the supply many parameters, such as {{Head}}. To do this, still add the bar, but instead of inserting the parameter's contents right away, add the parameter name (specified by the template) followed by an equals sign ("="), then the parameter's contents.
Substitution
Substitution is a different form of transclusion in which the template is "written" directly to the page when used (that is, the text that the template produces actually gets inserted where substituted). If a template is substituted, the page the template is used on will not be added to the template's "What links here" page as it would if a normal transclusion occurred.
- The most used template that should be substituted is {{Welcome}}
Building templates
Templates can be created by making a page in the template namespace. To do this, simply create Template:TemplateName.
Parameters
Parameters can be included in the template in order to give specific directions to the template. They can be required parameters, or they can be optional and have default values. They can be defined in two ways:
- Named parameters are usually used in templates that have two or more parameters associated with them. They can be defined as follows:
{{{<name>|<defaultvalue>}}}
- Unnamed parameters are usually used in templates that have only one parameter or as a main parameter (through with name parameters build off of afterwards). They can be defined as follows:
{{{<numberofappearance>|<defaultvalue>}}}
Examples
Template:Fruit | ||
---|---|---|
Template contents | Usage | Output |
Today's fruit is a(n) {{{fruit|apple}}}. |
{{Fruit}} |
Today's fruit is a(n) apple. |
Today's fruit is a(n) {{{fruit|apple}}}. |
{{Fruit|fruit=orange}} |
Today's fruit is a(n) orange. |
Today's fruit is a(n) {{{fruit}}}. |
{{Fruit}} |
Today's fruit is a(n) {{{fruit}}}. |
Today's fruit is a(n) {{{1|apple}}}. |
{{Fruit}} |
Today's fruit is a(n) apple. |
Today's fruit is a(n) {{{1|apple}}}. It is {{{2|red}}}. |
{{Fruit|grape|purple}} |
Today's fruit is a(n) grape. It is purple. |
Today's fruit is a(n) {{{1|apple}}}. It is {{{color|red}}}. |
{{Fruit|grape|color=purple}} |
Today's fruit is a(n) grape. It is purple. |
Conditionals and expressions
Conditionals are expressions of satisfaction; they are if-then statements. Basically, a condition is given, and if that condition is satisfied, something happens.
#if
- Usage:
{{#if:<expression>|<ifnotnull>|<ifnull>}}
The most basic conditional test. #if is used to test for content in the first "parameter". If something is there, the second "parameter" gets outputted. If null, the third "parameter" gets outputted. The most common usage for this in templates is to test for null parameters. This is accomplished by wrapping the parameter in the #if conditional and making it's default value null, like so:{{#if:{{{<parameter>|}}}|<ifnotnull>|<ifnull>}}
Examples
Template:Fruit | ||
---|---|---|
Template contents | Usage | Output |
— | {{#if:Something|It's not null|It's null}} |
It's not null |
— | {{#if:|It's not null|It's null}} |
It's null |
There is {{#if:{{{1|}}}|fruit|no fruit}}. |
{{fruit}} |
There is no fruit. |
There is {{#if:{{{1|}}}|fruit|no fruit}}. |
{{fruit|apple}} |
There is fruit. |
There is{{#if:{{{1|}}}|| no}} fruit. |
{{fruit}} |
There is no fruit. |
#ifeq
- Usage:
{{#ifeq:<expression1>|<expression2>|<ifequal>|<ifnotequal>}}
Tests two expressions for equality. If the two expressions are equal in value, the third "parameter" is outputted, otherwise, the fourth "parameter" is outputted.
Examples
Template:Fruit | ||
---|---|---|
Template contents | Usage | Output |
— | {{#ifeq:A|A|Equal|Not equal}} |
Equal |
— | {{#ifeq:A|B|Equal|Not equal}} |
Not equal |
{{{1}}}s and {{{2}}}s {{#ifeq:{{{1}}}|{{{2}}}|are|are not}} the same fruit. |
{{friut|apple|apple}} |
apples and apples are the same fruit. |
{{{1}}}s and {{{2}}}s {{#ifeq:{{{1}}}|{{{2}}}|are|are not}} the same fruit. |
{{friut|apple|orange}} |
apples and oranges are not the same fruit. |
#iferror
- Usage:
{{#ifeq:<expression>|<iferror>|<ifnoerror>}}
#ifexpr
- Usage:
{{#ifeq:<expression>|<iftrue>|<iffalse>}}
#ifexist
- Usage:
{{#ifeq:<expression>|<ifexists>|<ifnotexists>}}
#switch
- Usage:
{{#switch:<expression>|<case1> = <result1>|<case2> = <result2> ... |<default>}}
#expr
- Usage:
{{#ifeq:<expression>}}
Inclusion tags
Inclusion tags serve the purpose of dictating what gets included where when transcluding. This is typically used for categories and template documentation. There are 3 tags:
- includeonly text will appear only in the transclusion, not in the template.
- includeonly text will not appear in the transclusion, only in the template.
- onlyinclude is a bit different: only the text wrapped in the onlyinclude tags will be transcluded, nothing else. Does not affect the source template whatsoever.
Examples
Template contents | Template text | Contents when transcluded |
---|---|---|
This template has . | This template has . | This template has stuff. |
This template has stuff. | This template has stuff. | This template has . |
This template has stuff. | This template has stuff. | stuff |