Template:Template other/doc: Difference between revisions

From HIBIKIFORUM
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{Documentation subpage}}
{{Documentation subpage}}
{{template rating|p}}
<!-- Please place categories where indicated at the bottom of this page -->


This is a meta-template which helps other templates detect whether they are used in the "Template:" namespace.
This is a meta-template which helps other templates detect whether they are used in the "Template:" namespace.


==Usage==
== Usage ==
This template usually takes one or two parameters:
This template usually takes one or two parameters:
: <nowiki>{{Template other |[result/action if on a template page] (|[result/action if on another type of page])}}</nowiki>
: {{tlc|Template other|[result/action if on a template page] (|[result/action if on another type of page])}}


For example, if <nowiki>{{|Template other |On template page& |Not on template page}}</nowiki> were on a "Template:" page, it would return:
For example, if {{tlf|Template other&#32;|On template page&#32;|Not on template page}} were on a "Template:" page, it would return:
: {{Template other |On template page |Not on template page}}
: {{Template other |On template page |Not on template page}}
On any other type of page (e.g. "Wikipedia:", "User:") it would return:
On any other type of page (e.g. "Wikipedia:", "User:") it would return:
: {{Template other|demospace=other |On template page |Not on template page}}
: {{Template other|demospace=other |On template page |Not on template page}}


A typical use is to manage the categorization of template pages. Adding <nowiki>{{Template other | |[[Category:[category name]]]}}</nowiki> 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.)
A typical use is to manage the categorization of template pages. Adding {{tlf|Template other&nbsp;|&#32;|{{!((}}Category:''[category name]''{{))!}}}} 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 {{para|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" ({{para|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" ({{para|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.


==Demospace==
The parameter <code>|demospace</code> 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" (<code>|demospace|template</code>), 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" (<code>|demospace|other</code>), 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:
For example:
<pre>
{{tj|Template other
{{Template other
  | demospace: template
| demospace = template
  | Template page text  
| Template page text  
  | Other pages text  
| Other pages text  
}}
}}
</pre>
 
No matter on what kind of page the code above is used, it returns:
No matter on what kind of page the code above is used, it returns:
{{Template other
{{Template other
| demospace = template
  | demospace = template
| Template page text  
  | Template page text  
| Other pages text  
  | Other pages 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:
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:


<pre>
{{tj|Template other  
{{template other  
  | Template page text  
| Template page text  
  | Other pages text  
| Other pages text  
  | demospace: {{(((}}demospace{{!}}{{)))}}
| demospace = {{{demospace|}}}
}}
}}
</pre>


==Technical details==
==Technical details==
This template detects "Template talk:" pages as type '''other'''.
This template detects "Template talk:" pages as type '''other'''.


<includeonly>
<includeonly>{{sandbox other||{{testcases other||
<!-- Categories below this line, please -->
<!-- Categories below this line, please -->
[[Category:Templates]]
[[Category:Templates]]
}}</includeonly>
[[Category:Utility Templates]]
}}}}</includeonly>

Revision as of 08:55, 15 June 2023

Light bulb.png }}
It contains usage information, categories and other content that is not part of the original template page.

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|[result/action if on a template page] (|[result/action if on another type of page])}}

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