Help:Templates

From Fanlore
Jump to navigation Jump to search

This page provides technical help wth using and creating templates. For help with choosing which templates to use, see Help:Template Guidelines.

If you have standard texts you want to include on several pages, you can use the MediaWiki template feature.

Using a template

You can find a list of templates already created for Fanlore here: Category:Fanlore Templates. The most frequently used templates are infoboxes. Other types of templates include labels (for special tyes of pages like disambiguation pages) and notices requesting action or warning the user. (A few templates are designed to be used in creating other templates; don't worry about these.)

To insert a new template using the Visual Editor:

  1. If your template is a Label or a Notice, select "Insert" from the toolbar and then "Template". In the text box, type the name of the template you'd like to insert and select it from the dropdown. Select "Apply changes" to insert the template.
  2. If your template needs additional content (such as fields filling in), we recommend instead copying the code from the template page and pasting it into the page being edited - this will convert into a template that can be edited visually.
  3. Select the template box, and select the "Edit" button that appears in the top right corner. This will bring up a list of fields in the template that you can insert text into - note that these will appear in alphabetical order rather than the order they are listed in the template. It may be helpful to keep the template page open to reference which fields are which.
  4. Select "Apply changes" to insert the template.

To insert a new template using the Source Editor:

  1. Go to the page for your chosen template
  2. Copy the template code in the box near the top
  3. Select "Edit source" on the page you wish to add the template to, and paste the code where you want the template
  4. If the template provides space for adding your own text (e.g. infoboxes), fill these in with your desired information
  5. Save the page and you're done!


Notes:

  • You cannot add or remove template fields by deleting them manually on an individual article's edit page.
  • You cannot manually remove a category from a page when it is included in the infobox template. Find a better template (if one exists), or create a new one. See #Switching categories in templates.

Technical

Templates are wiki pages that can be used on other pages in three ways:

  • {{Name}} 'transcludes' (i.e. includes a copy of) the content of the template (stored in the page [[Template:Name]]) whenever the page containing the template transclusion is fetched and displayed; i.e. if the template is later changed, the displayed transcluding page will automatically change too
  • {{subst:Name}} replaces that string with the contents of the template, in the source of the transcluding page, when you save that page; the copy of the template contents can then be edited normally (and separately from the original in the template page)
  • {{msgnw:Name}} includes the template in a form that displays it as raw wiki syntax (the way <nowiki> does) when the page containing it is fetched

Creating a template

Templates are wiki pages in the Template namespace. You create them like any other wiki page. Name the page like this: Template:Name of template

Using parameters in templates

Template with numbered parameters
 
'''A little thank you...'''<br>
<small>for {{{1}}}.<br>
hugs, {{{2}}}</small>
You type You get
{{Thankyou|all your hard work|Joe}}

Template:Thankyou

with named parameters
 
'''A little thank you...'''<br>
<small>for {{{reason}}}.<br>
hugs, {{{signature}}}</small>
You type You get
{{Thankyou
|reason=all your hard work
|signature=Joe}}

Template:Thankyou

You can define parameters in templates either numbered as {{{1}}} or named {{{param}}}.

Example: You want a little thank-you note you can put on the talk page of other users. It will contain a reason and your signature. You could create Template:Thankyou to enter your text, as in the example in the table.

When using the template on a page, you fill in the parameter values, separated by a pipe char (|): {{Thankyou|all your hard work|Joe}}. For named parameters use "name=value" pairs separated by a pipe char: {{Thankyou|reason=all your hard work|signature=Joe}}. The advantage of using named parameters in your template is that they are flexible in order. It also makes the template easier to understand if you have many parameters. If you want to change the order of numbered parameters, you have to mention them explicitly: {{Thankyou|2=Joe|1=all your hard work}}.

You can also provide default values for parameters, i.e. values that are going to be used if no value is provided for a parameter. For example, {{{reason|all your hard work}}} would result in "all your hard work" if no value was provided for the parameter reason.

Control template inclusion

You can control template inclusion by the use of <noinclude> and <includeonly> tags.

Anything between <noinclude> and </noinclude> will be processed and displayed only when the page is being viewed directly, not included.

Possible applications are:

  • Categorising templates
  • Interlanguage links to similar templates in other languages
  • Explanatory text about how to use the template

The converse is <includeonly>. Text between <includeonly> and </includeonly> will be processed and displayed only when the page is being included. The obvious application is to add all pages containing a given template to a category, without putting the template itself into that category.

Note: when you change the categories applied by a template, the categorization of the pages that use that template may not be updated until some time later: this is handled by the job queue.

Organizing templates

For templates to be effective, users need to find them and be able to use them. A simple technique is to include an example on the template page. For example:

<noinclude>
==Usage==
Allows to establish a link to a subject:
{{NameOfTemplate|Term1+Term2+Term3}}
</noinclude>

Then, an editor can simply copy and paste the example to create a similar page.

Switching categories in templates

If a category is included in a template and you add the template to a page, the page will automatically be included in the category. You can always add more categories manually, but you can't remove the included category unless you add some code into the template page.

Scenario 1: optionally include a category in a template that defaults to no category

the code (see Template:ImageSummary):

{{#switch: {{{copyright|}}}
| CC=[[Category:Creative Commons]]
| #default={{{copyright|}}}
}}

Scenario 2: change the category in a template with a different default category

the code (see Template:FanfictionStarTrekVOY):

{{#switch: {{{pairing|}}}
| Pairing 1=[[Category:Fandom Pairing 1 Fanfiction]]
| Pairing 2=[[Category:Fandom Pairing 2 Fanfiction]]
| #default=[[Category:Fandom Fanfiction]]
}}

The template page should also contain instructions on how to make use of the switch function when you are including the template in a page.

See mediawiki for info on switch and other ParserFunctions.

See Also

For any other questions, you can use the Talk page or contact the Fanlore Committee.