An icon used in notice templates. This page is a SmashWiki help page, intended to be a guide to helping users understand SmashWiki and its functionalities. When editing this page, please ensure that your revision reflects consensus. If in doubt, consider discussing changes on the talk page.

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.

What are templates?

Wiki templates provide a means to insert the same content over and over in different (or the same) pages. This saves editors the hassle of duplicating the same text again and again, and also helps ensure consistency.

Templates are generally shown with the format required to use the template (i.e. {{stub}}). Searching the template name takes you to the template's page, where you can see what it looks like and how it is used.

Detailed instructions on the usage of each template should exist either on the template page, or the template's talk page.

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:

Correct
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):

  1. 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
  2. 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.
    Example: {{Head|Mario|g=SSB|s=16px}} returns  
    *Note that this example actually uses both parameter methods.

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

Common templates

There are many templates in use on SmashWiki, and these are only subset, representing some of the most important and commonly used ones. If you feel that a template belongs on this page, do not hesitate to add it.

  • Category:Templates should list all templates in the wiki, categorized into the various subcategories.
  • The Template namespace always has all templates in the wiki, unsorted.

User organization

{{todo}}

  • Just Add it to your user page and then save. The To Do List Template should appear in blank with the options of edit -history - watch - refresh, from the template choose edit and add articles for you to Wikify, expand, merge, crate, etc. in the source code.

Article management templates

Nominate an article for deletion

{{delete}}

Disambiguation articles

{{disambig}}

  • If you have several articles that have similar or identical names, you may wish to create a "disambiguation" page at the main article name, with the articles taking an extra phrase in brackets afterwards. For example:
[[The Prince]] <-- disambiguation page, with links to:
[[The Prince (frog)]]
[[The Prince (human)]]

Stubbing

{{stub}}

  • When a page has little or no useful information, then it is likely a stub. This template will include them in Category:Stubs, and is used to list which articles need expanding.

Template category template

{{templatecategory}}

  • This should be added to any template-related categories, to list template-specific categorising details (these are different to those of normal pages).

General wiki templates

Clear

{{clr}}, plus {{clrl}} and {{clrr}}

  • This template is used to reduce the amount of non-wikicode used on pages, replacing the code <div style="clear:both"></div>. Its use should generally be avoided.
  • You can use {{clr}} instead of the HTML tag that clears space below things like images, pictures and tables, so the following stuff doesn't begin until the bottom of the image, picture or table box.
  • You can also use {{clrl}} or {{clrr}} to clear only left or right floats.

For

{{for|<name>|<link>}}

  • Use at the top of articles as a simple "for x see y" template.

Main article

{{main|<main article>}}

  • Use at the start of a section to link to the main article on it.

T is for template

{{t|<template>}}

  • This template allows you to show example template code (with a link to the templates) without using the template itself. It is used extensively on this page.

Welcome

{{welcome}}

  • A template to welcome new users with. Should be customized for the wiki.

Wikipedia

{{wikipedia}}, {{wikipedia-deleted}}

  • Wikipedia-related templates. Use {{wikipedia}} for articles taken directly from Wikipedia.

Template creation - things to consider

Any autoconfirmed user can create a template on the Wiki. However, when deciding to make a template, some important things must be considered:

  • Is this template for personal use? Personal use templates should not be in the template namespace. Instead, they should be in user subpages, and can be used with the formatting {{ [User subpage name] }}.
  • Is there already a template that serves this purpose? Always check the list of templates to see if such a template already exists. Duplicate templates will just cause unnecessary confusion.
  • Is this template needed? Consider if this template is really necessary. How often would it be used? Will other users agree with its creation? A good rule of thumb is to create a proposal, per SW:CONSENSUS, to establish that this template is both wanted and needed.

If you are satisfied with these considerations, then feel free to create the template.

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

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.

#switch

  • Usage:{{#switch:<expression>|<case1> = <result1>|<case2> = <result2> ... |<default>}}

The #switch function is use to test an expression against multiple other expressions at once. For example, if you wanted to see if a parameter equals x, y, or z, and each has a different output, a #switch function should be used. It is also possible to specify two cases for one outcome.

Template:Fruit
Template contents Usage Output
{{#Switch:{{{1}}}|apple = red|orange = orange|grape plum = purple|lime = green|"{{{1}}}" is not a fruit.}} {{Fruit|apple}} red
{{#Switch:{{{1}}}|apple = red|orange = orange|grape plum = purple|lime = green|"{{{1}}}" is not a fruit.}} {{Fruit|grape}} purple
{{#Switch:{{{1}}}|apple = red|orange = orange|grape plum = purple|lime = green|"{{{1}}}" is not a fruit.}} {{Fruit|plum}} purple
{{#Switch:{{{1}}}|apple = red|orange = orange|grape plum = purple|lime = green|"{{{1}}}" is not a fruit.}} {{Fruit|carrot}} "carrot" is not a fruit.

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.
  • noinclude 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 <includeonly>stuff</includeonly>. This template has . This template has stuff.
This template has <noinclude>stuff</noinclude>. This template has stuff. This template has .
This template has <onlyinclude>stuff</onlyinclude>. This template has stuff. stuff