Gaming
 

Help:Template

From WoWWiki

(Redirected from WoWWiki:Template)
HELP CONTENTS · Getting Started · New to WoWWiki · Editing WoWWiki · Editing WoWWiki (advanced) · The WoWWiki Community · Additional Help
See Wikia Help for general Wikia- and wiki- related help. See http://meta.wikimedia.org/ Meta-Wiki HelpIntro for basic MediaWiki usage!

This page is meant to be a quick how-to with helpful tips for creating and editing templates in WoWWiki. It is not meant as a definitive tech reference. MediaWiki's own page has that already.

Contents

"Template:" vs Local Templates

You may already have seen that some pages use {{Sometemplate}} while others use {{Template:Sometemplate}}. This usually means the same thing; if you don't tell the wiki in which namespace to look, it will look under "Template:".

Wait, what did I just say?

  • A template does not have to live under "Template:". You can pull in a page from wherever into your page.

For site-wide templates, it makes sense to put them in the "Template:" namespace where everyone can find them, but for something that you're only using in a few pages, it makes much more sense to just put it in e.g. "MyPage/TheTemplate", and pull it in with {{:MyPage/TheTemplate}}.

  • Note the ":" at the beginning of {{:MyPage/....   Since most pages live in the "main" namespace of the wiki, we'd not be telling the wiki where to look for the page to include, so it'd go look in "Template:", where it wouldn't find much.   ":" by itself means "Look in the main namespace, please".

You will have to use your own judgement for what's right for your template. Here's a few instructive examples though:

Templates that belong in "Template:"

Templates that perhaps didn't belong in "Template:"

Naming your template

This depends on where your template gets placed, really. And how commonly used you think it's going to be.


Use dozens of times?
- Pick a short name.
  • Use a handful of times?
- Long, descriptive name.
  • In "Template:", a very commonly used template will likely be a single word, or two contracted words, all in lowercase. This makes it fast and easy to write. Examples include: {{clr}}, {{infoline}}, ... For instance, "WoW API" should probably have been named simply "wowapi" -- much easier to write often.
  • "Template:" templates that are more seldomly used will need a more descriptive name. But its name will still be fairly short.
  • A locally stored template will typically be a subpage of something else, e.g. "My Page/My Template". Other than that, it can have just about any name.
    • If it needs to be long winded and descriptive, make it so: {{WoWWiki:Policy/Terminating/Direct termination terms}} (but you'll still go nuts if you need to include it in more than a handful of pages).
    • Or be more brief; as long as you think people understand what the template is about when they stumble over it.

Explaining what your template does

It's very helpful to others (or, heck, yourself half a year from now!) to explain what your template actually does and why it exists. It's easy to put this information in the template without it pestering pages where it's included:

<noinclude>''This template does X and is used by Y. I made it a template because Z. --~~~~''

</noinclude>
(and then the actual template...)

... where "X" and "Z" certainly can be left out if it's obvious, and "Y" might be "globally" or "all pages dealing with ...". It doesn't even have to follow any particular format, really; just a quick note about the template helps!

This becomes even more important when your template uses parameters. Other people really appreciate it when you explain what order to input things.

Templates have Talk pages too!

If there's more you'd like to say about your template than you care to explain between <noinclude> tags, templates do have talk pages just like any other page! It might be a good idea to mention that there's info in the talk page between your <noinclude> tags though; most people don't go looking for talks on templates. ;-)

Tips and tricks

Categories in templates

If you put a category in a template, all pages that use the template will suddenly end up in that category. Well, semi-suddenly anyway; the page needs to be edited once (just add a blank line or a space) before they're actually moved.

However, if you just go ahead and put in the category tag, your template will end up in the category too, which is maybe not what you intended. Use this:

<includeonly>[[Category:MyCategory]]</includeonly>

Template parameters

This is actually a fairly huge topic; we'll try to cut it short.

MyTemplate: {{{1}}}, look! My template uses {{{2}}}!
Using it: {{MyTemplate|Mommy|parameters}}
Results in: Mommy, look! My template uses parameters!

You can also name parameters:

MyTemplate: {{{who}}}, look! My template uses {{{something}}}!
Using it: {{MyTemplate|something=parameters|who=Mommy}}
Results in: Mommy, look! My template uses parameters!

You can also give default values for things that aren't supplied:

MyTemplate: {{{who|Oi}}}, look! My template uses {{{something|parameters}}}!
Using it: {{MyTemplate|something=parameter defaults!!}}
Results in: Oi, look! My template uses parameter defaults!!!

Equal signs in parameter values

Since equal signs, "=", are part of how parameter values are supplied, they're a little bit troublesome. You can't supply equal signs to numbered parameters at all. However, you can supply them to named parameters:

{{MyTemplate|Haha =)}}

This will probably not work like you intended. You're setting the parameter "Haha" to ")". Not "1" to "Haha =)".

{{MyTemplate|text=Haha =)}}

This example sets the parameter "text" to "Haha =)".

Templates can use templates!

When your templates are getting big, chances are you want to re-use something from one template in another template.

  • Just cut the common parts out and paste them into a new template and then use that template in other templates!

There's also other reasons why you may want to use sub-templates. See e.g. {{Delete}} and {{Delete/Content}}. Pulling in "Delete" automatically marks the page for deletion, but WoWWiki:Delete also wants to show what it looks like without getting itself marked for deletion, so it just pulls in "Delete/Content".

Splitting templates into a /Begin and /End

  • For an example of split templates, see {{Example/Begin}} and {{Example/End}}.
  • Of course, {{Example}} pulls them both in for places where you don't need the extra oomph.

Template parameters can't contain just anything. They're pretty aggressive about HTML tags, and trying to insert "{" or "}" or "=" is bordering on painful. So for templates where you know you'll have lots of content, or quirky content, it makes more sense to split them up into a "Begin" and "End" template, e.g. "MyTemplate/Begin", "MyTemplate/End".

  • Note: You cannot begin a HTML tag in one template and end it in another. The MediaWiki software refuses to leave HTML tags unfinished in a page, so it helpfully ends them for you right at the end of the "Begin" snippet, long before they're of any use to you.
MyTemplate/Begin: <table ...><tr>
MyTemplate/End: </tr></table>
« This won't work!
  • Wiki-style tables, on the other hand, can be begun in one template and ended in another.
MyTemplate/Begin: {| ...
MyTemplate/End: |}
« This will work!

Categorize your templates!

It helps other editors (and probably yourself, too!) if you categorize your templates themselves. Perhaps not so much for "Template:" templates, but definitely for local templates!

Pages that use a local template will likely share one or more common categories, so making a "Your Category/Templates" and putting the templates there helps other editors find them easily!

Example:
  • Make sure that pages using your template don't end up in the "/Templates" category!
<noinclude>This template does X and is used by Y. See the talk page!  --~~~~
[[Category: My Category/Templates]] </noinclude>
(and then the actual template...)

Automatic subtemplate selection

There is a number of built-in variables that are very useful for templates.

One such is {{PAGENAME}}, which for this page is "Template". So all base zone pages could for instance use a template that pulls in ":{{PAGENAME}}/Boss list", and links to "{{PAGENAME}}/Loot list". But attempting to use that template inside one of the subpages would break horribly.

Pages with lots of templates not updating

When a page pulls in lots of templates, it won't always update when a template changes. There are two ways to force a refresh:

  • Do a dummy edit on the page
  • Do "action=purge" on the page, e.g. http://www.wowwiki.com/index.php?title=Help:Template&action=purge
    • The {{purge|<your text>}} template creates such a link in the page itself.
"I" icon This problem should be alleviated as of the MediaWiki 1.7 upgrade (which happened in September 2006). The wiki software will attempt to update many of the pages using the template immediately, but if there's too many to do immediately, it'll spread the work over the next few minutes.

Is anything on this page unclear? Or is there something you'd like to know more about? - Drop a line in the Talk page!

See also

  • Category:Templates. Nearly everything in the "Template:" namespace, categorized in subcategories.

A template is a special type of page that has been designed so its content can be included in one or more other pages. Since a given template can be included in many pages, templates can help reduce duplication and promote a uniform style between pages.

Templates are usually located in the Template namespace, which means any page name beginning with Template:, such as Template:Name. However, any page can act as a template.

Contents

Referencing templates

Transcluded template

The content of a template can be added to a page by referencing it using the wiki markup: {{templatename}}. This references the template and includes its output at the point of insertion. Articles will be updated automatically when referenced templates are changed. A page that references templates cannot be edited to change the content of a referenced template, although a list of referenced templates will be displayed at the bottom of the page for convenience while editing it.

Substituting templates

Substituted template

A different way to use a template is to substitute its content into a page. This is done by inserting subst: immediately after the opening braces: {{subst:templatename}}. Once the page is saved, the link to the template is removed and the template output is substituted in its place and can be further edited. Any updates to the template will not affect the content that was substituted into the page.

Benefits of templates

Templates are used to add recurring messages to pages in a consistent way, to add boilerplate messages, to create infoboxes and navigational boxes, and to provide cross-language portability of texts.

Templates can also make it much easier for new and casual editors to use advanced designs, features and extensions by hiding confusing code.

Creating a template

In short, create the text you want to have copied onto the target pages on a page in the Template namespace. Creating Template:Templatename will allow users to insert {{templatename}} into a page to display your text.

See Help:Creating templates for details.

For an overview, see the quick guide to templates on Wikimedia's Meta-Wiki.

Creating an advanced template

To learn how to change the output of the template based on what the user inputs, see Help:Template parameters and Help:Parser functions.

Updating and adding standard templates

Wikia's Starter Pages and Templates wikis occasionally improve some of their documentation as well as adding new templates specifically designed for Wikia sites, and are therefore worth checking from time to time. For sites created before about December 2008, the Starter Pages wiki should be compared and ideally used for upgrading to its standard documentation system similar to that introduced in Wikipedia.