Welcome to the DFO World Wiki. With many major updates since the release of DFO, many items are missing. Visit Item Database Project to learn more.
Please remember to click "show preview" before saving the page.
Thanks for the updated logo snafuPop!

Difference between revisions of "Template:Exists/doc"

From DFO World Wiki
Jump to: navigation, search
(Copied from wikimedia)
 
(Remove some wikimedia text)
 
Line 3: Line 3:
 
The full syntax for using it is:
 
The full syntax for using it is:
  
  <nowiki>{{</nowiki>exists | page=''page'' | then=''result if page exists'' | else=''result if page does not exist'' }}
+
  <nowiki>{{</nowiki>Exists | ''page'' }}
  
The parameters <code>then</code> and <code>else</code> are optional; if not given, the default values for <code>then</code> and <code>else</code> are ''1'' and ''0'' respectively. The page name may alternatively be given as the first unnamed parameter, as in this short version:
+
The template returns either '0' or '1' and thus an acceptable usage of this is to perform a comparision.
  
  <nowiki>{{</nowiki>exists | ''page'' }}
+
  <nowiki>{{#ifeq:{{Exists| some page}}|1|true value | false value}}</nowiki>
 
 
The method is based on transclusion of the possibly existing page. If the page does not exist the code for page transclusion produces a (red) link. Even if this result is used for comparison only, and not for final output, the page counts as being transcluded. Therefore the page appears as red link in the list of transcluded pages.
 
 
 
If the page to be transcluded does not exist, then link brackets are put around the full pagename, with the following conversions (visible with [[Special:ExpandTemplates]]):
 
*a colon is put in front if it is not there yet
 
*the namespace name (if applicable) and the pagename are capitalized (on most wikis)
 
*underscores are replaced by spaces
 
 
 
Thus <code><nowiki>{{help:qq w_x}}</nowiki></code> and <code><nowiki>{{:help:qq w_x}}</nowiki></code> both give <code><nowiki>[[:Help:Qq w x]]</nowiki></code>.
 
 
 
For the link there is not such an automatic conversion. Therefore the template prefixes a colon to the parameter for the full pagename (it should not already start with a colon) and applies lc and anchorencode (to convert spaces to underscores) on both sides before comparison:
 
 
 
*<code><nowiki>{{anchorencode:{{lc:[[:help:qq w_x]]}}}}</nowiki></code> gives {{anchorencode:{{lc:[[:help:qq w_x]]}}}}
 
*<code><nowiki>{{anchorencode:{{lc:{{help:qq w_x}}}}}}</nowiki></code> gives {{anchorencode:{{lc:{{help:qq w_x}}}}}}
 
 
 
Thus a false-positive for a non-existing page is avoided. A false-negative for an existing page is possible, but typically only for specially constructed examples.
 
 
 
==See also==
 
*[[Help:Page existence]]
 
*[[Template:Exist]] - similar, but with parameters similar to those of other branching functions and templates
 
 
 
<includeonly>
 
[[Category:Branching templates|{{PAGENAME}}]]
 
</includeonly>
 

Latest revision as of 16:41, 27 June 2019

This template tests whether a given page exists. It can be useful in view of the maximum number of #ifexist calls that can be used on a page. (However, in the case of frivolous use of #ifexist which was the reason for the limit, do not replace this use with frivolous use of this template!)

The full syntax for using it is:

{{Exists | page }}

The template returns either '0' or '1' and thus an acceptable usage of this is to perform a comparision.

{{#ifeq:{{Exists| some page}}|1|true value | false value}}