Template:Template other/doc
File:Edit-copy green.svg | This is a documentation subpage for Template:Template other. It contains usage information, categories, interlanguage links and other content that is not part of the original template page. |
File:Imbox content.png | This template is used on 190,000+ pages. To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in the template's /sandbox or /testcases subpages, or in your own user space. The tested changes can then be added in one single edit to the template. Please consider discussing any changes on the talk page before implementing them. |
This is the {{template other}} meta-template.
It helps other templates detect if they are on a "Template:" page or some "other" type of page.
Usage
This template usually takes two parameters, like this:
{{template other | Template page text | Other pages text }}
If the template is on a "Template:" page, it will return this:
- Template page text
If the template is on any other page, it will return this:
- Other pages text
A typical usage case could be to make it so that a template only adds a category when not on a template page. Thus not adding the template itself and other templates that are built with it to the category. Like this:
{{template other | | [[Category:Some maintenance category]] }}
Note that in the example above the "template" parameter was left empty.
Demospace
For testing and demonstration purposes this template can take a parameter named demospace.
- If it has the value template it returns the template page text.
- It if has the value other or any other value such as the name of some other namespace it returns the other pages text.
- If the parameter is empty or undefined, the actual page type determines the result.
Like this:
{{template other | Template page text | Other pages text | demospace = template }}
No matter on what kind of page the code above is used it will return this:
- Template page text
You can make it so your template also understands the demospace parameter. That means you can demonstrate the different appearances of your template in the documentation for your template. Then do like this:
{{template other | Template page text | Other pages text | demospace = {{{demospace|}}} }}
Technical details
This template detects "Template talk:" pages as type other.
This template works like {{main talk other}}, for more examples and technical details see full documentation there.
See also
Easy to use namespace-detection templates:
- {{main other}} – For article templates.
- {{talk other}} – For talk page templates.
- {{user other}} – For user page templates.
- {{wikipedia other}} – For detecting "Wikipedia:" pages.
- {{file other}} – For file (image) templates.
- {{template other}} – For detecting template pages.
- {{help other}} – For help page templates.
- {{category other}} – For category templates.
- {{portal other}} – For portal templates.
- {{book other}} – For detecting book pages.
More complex namespace-detection templates:
- {{namespace detect}} – The very versatile one.
- {{namespace detect showall}} – The extremely versatile one, has input reuse.
- {{talkspace detect}} - For detecting talk pages on various namespaces.
- {{main talk other}} – Separates some namespaces.
- {{main talk category other}} – Separates some namespaces.
Pagename-handling and detection templates:
- {{basepage subpage}} – For detecting if on a basepage, subpage or subsubpage.
- {{pgn}} – Can take apart and put together pagenames in several ways.
- {{if pagename}} – For pattern matching on the pagename.
- {{if pagename multi}} – For pattern matching on the pagename, has input reuse.
- {{IP-user other}} – For detecting IP-user pages.
- {{IP-talk}} - Return: 1) IP user talk page 2) registered user talk page 3) not user talk page.
Technical stuff:
- Wikipedia:Namespace – Lists all the namespaces.
- mw:Help:Magic words – About
{{NAMESPACE}}
etc. - mw:Help:Extension:ParserFunctions – About
{{#ifeq:|||}}
etc.