This is the {{file other}} meta-template.

This template helps other templates detect if they are on a "File:" page or some "other" type of page.

This template was previously named {{image other}}. That name redirects here so it still works, but using the old name is now deprecated.

This template usually takes two parameters, like this:

{{file other | File page text | Other pages text }}

If the template is on a file (image) page, it will return this:

File 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 file pages. Thus not adding other pages that just show the template. Like this:

{{file other | [[Category:Some file maintenance category]] }}

Or to warn that a template should not be used on other pages:

{{file other | | This template should only be used on file (image) pages. }}

Note that in the first case above the "other" parameter was not used, and in the second example the "file" parameter was left empty.

For testing and demonstration purposes this template can take a parameter named demospace.

  • If it has the value file it returns the file 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:

{{file other 
| File page text 
| Other pages text 
| demospace = file
}}

No matter on what kind of page the code above is used it will return this:

File 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:

{{file other 
| File page text 
| Other pages text 
| demospace = {{{demospace|}}}
}}

Technical details

सम्पादन

This template detects "File talk:" pages as type other.

Namespace "Image" was renamed to "File" on 11 December 2008. This template was updated to understand both names well before that, thus it still works fine.

This template works like {{main talk other}}, for more examples and technical details see full documentation there.

Easy to use namespace-detection templates:

More complex namespace-detection templates:

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: