Template:Draft other: Difference between revisions
Dat Hack3r (talk | contribs) (Created template.) |
Dat Hack3r (talk | contribs) (Fixed a bug with the magic word {{ns}}.) |
||
Line 3: | Line 3: | ||
{{#if:{{{demospace|}}} | {{#if:{{{demospace|}}} | ||
| {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | | {{lc: {{{demospace}}} }} <!--Use lower case "demospace"--> | ||
| {{#ifeq:{{NAMESPACE}}|{{ns: | | {{#ifeq:{{NAMESPACE}}|{{ns:118}} | ||
| draft | | draft | ||
| other | | other |
Latest revision as of 21:24, 8 April 2024
This template is used on many pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
This is the {{draft other}} meta-template.
This template helps other templates detect if they are on a "Draft:" page or some "other" type of page.
Usage
This template usually takes two parameters, like this:
{{draft other | Draft page text | Other pages text }}
If the template is on a "Draft:" page, it will return this:
- Draft 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 on Draft pages. Thus not adding other pages that just show the template. Like this:
{{draft other | [[Category:Some draft category]] }}
Or to warn that a template should not be used on other pages:
{{draft other | | This template should only be used on draft pages. }}
Note that in the first case above the "other" parameter was not used, and in the second example the "draft" parameter was left empty.
Demospace
For testing and demonstration purposes this template can take a parameter named demospace.
- If it has the value draft it returns the draft 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:
{{draft other
| Draft page text
| Other pages text
| demospace = draft
}}
No matter on what kind of page the code above is used it will return this:
- Draft 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:
{{draft other
| Draft page text
| Other pages text
| demospace = {{{demospace|}}}
}}
Technical details
This template detects "Draft talk:" pages as type other.
This template works like {{main talk other}}, for more examples and technical details see full documentation there.