Template:Template other/doc
|
|
This is a documentation subpage for Template:Template other. It may contain usage information, categories and other content that is not part of the original template page. |
|
|
This template is used on a very large number of pages. To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its /sandbox or /testcases subpages, or in your own user space. The tested changes can then be added to this page in one single edit. Please consider discussing any changes on yes before implementing them. |
| File:Cascade-protection-shackle.svg | This template can only be edited by administrators because it is transcluded onto one or more cascade-protected pages. |
This is a meta-template which helps other templates detect whether they are used in the "Template:" namespace.
Usage
This template usually takes one or two parameters:
Template other on Wikipedia For example, if {{Template other |On template page |Not on template page}} were on a "Template:" page, it would return:
- On template page
On any other type of page (e.g. "Wikipedia:", "User:") it would return:
- Not on template page
A typical use is to manage the categorization of template pages. Adding {{Template other | |[[Category:[category name]Template:))!}} to a template, for instance, means it would only categorize a page when that page isn't a template page. (The first parameter consists of nothing, so no action taken if/when the template is on a template page.)
Demospace
The parameter demospace can be used to demonstrate or test this template. By default, it is undefined and has no effect on the template's action, but:
- when set as "template" (
|demospace=template), it prompts the template to return the first result/action above (i.e. to behave as if on a "Template:" page) even if the template is on a different type of page; - when set as "other" (
|demospace=other), it prompts the template to return the second result/action above (i.e. to behave as if not on a "Template:" page) even if the template is on a "Template:" page.
For example:
{{Template other | demospace = template | Template page text | Other pages text }}No matter on what kind of page the code above is used, it returns: 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. For more details relevant to this template, see {{Main talk other}}, which works similarly.
Namespace and pagename-detecting templatesNamespace Particular More generic Pagename When on basepage Detects and acts according to whether it is on a basepage or on any subpage (that is, a../..subpage).When pagename is For pattern matching on the pagename.Module:Page Can take apart and put together pagenames in several ways.IP-talk Returns IP-user talkpage, registered-user talkpage or non-user talkpage.IP-user other For detecting IP-user pages.Subpage other Pagename has an after-slash part (not in mainspace)Sandbox other Page is subpage /sandbox (template space)Testcases other Page is subpage /testcases (template space)Rootpage other Page is rootpage (vs. /subpage) (template space)Others Stub other Detects whether it is on a page with a stub template or not.Redirect other Detects whether it is on a redirect or not.If preview Detects whether page is viewed as a preview or not.If IP Displays different content to IP users and logged-in users.If autoconfirmed Displays different content to autoconfirmed and non-autoconfirmed users.If extended confirmed Displays different content to extended confirmed and non-extended confirmed users.If administrator Displays content only to admins.If mobile Displays different content to mobile users and desktop users.If dark Displays different content to dark mode users and light mode users.Noscript Detects whether page is viewed with a JavaScript-capable client or not.* Wikipedia:Namespace