Template:Exists

From Sarkarverse
Jump to navigation Jump to search
Documentation icon Template documentation[view] [edit] [history] [purge]
For the template that displays the existential quantifier, see Template:Exist.

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=page | then=result if page exists | else=result if page does not exist }}

The parameters then and else are optional; if not given, the default values for then and else are 1 and 0 respectively. The page name may alternatively be given as the first unnamed parameter, as in this short version:

{{exists | page }}

If the page name may contain equals signs, always use the "1=" or "page=" prefix.

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. With #ifexist this can be avoided, and with the CSS method it is not the case.

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

A false-negative for an existing page is possible, but typically only for specially constructed examples.