Template:If empty/doc

From Valve Developer Community
Jump to navigation Jump to search
English (en)Deutsch (de)Esperanto (eo)Español (es)Français (fr)Suomi (fi)Hrvatski (hr)Magyar (hu)Italiano (it)日本語 (ja)한국어 (ko)Nederlands (nl)Polski (pl)Português (pt)Português do Brasil (pt-br)Русский (ru)Slovenčina (sk)Svenska (sv)Türkçe (tr)Українська (uk)Tiếng Việt (vi)中文 (zh)中文(臺灣) (zh-tw)
Edit-copy.png
This is a documentation subpage for Template:If empty.
Don't forget to purge the contents of the base page upon creating or editing this subpage.  

This is the {{ifempty}} template.

This template is used inside other templates. It takes up to nine parameters (parameters 1-9), and returns the first one that is defined and non-empty, otherwise nothing. Typical usage is like this:

{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}

This returns the first of the parameters logo and image that is defined and non-empty, otherwise "default.svg".

Background

The MediaWiki parameter default function doesn't return the default value for empty parameters. That is, {{{logo|default.svg}}} does not return "default.svg" if the template was called like this: {{template|logo=}}.

The usual workaround is to do like this:

{{#if:{{{logo|}}}| {{{logo}}} | default.svg }}

But this becomes complex when you want to check several parameters:

{{#if:{{{logo|}}}| {{{logo}}} | {{#if:{{{image|}}} | {{{image}}} | default.svg }}}}

Then it is easier to use this template instead:

{{ifempty| {{{logo|}}} | {{{image|}}} | default.svg }}

Note! The parameters to {{ifempty}} must use the pipe "|", like this: {{{logo|}}}. Or else {{ifempty}} will be fed and return the string "{{{logo}}}" if logo was not defined.

Examples

CodeResultComment
{{ifempty}} Returns an empty string.
{{ifempty|one}} one Returns the first parameter that is defined and not empty.
{{ifempty|one|two}} one
{{ifempty|one|two|three|four}} one
{{ifempty||two}} two The first parameter was empty or undefined, so uses the next parameter.
{{ifempty||two|three|four}} two
{{ifempty||two||four}} two
{{ifempty|||||||||nine}} nine
{{ifempty||||||||||ten}} Only handles up to nine parameters, so returns an empty string.
{{ifempty|}} The only parameter is empty or undefined, so returns an empty string.
{{ifempty||||}} Returns an empty string.
{{ifempty|{{{1|}}}|{{{2|}}}|three}} three
{{ifempty|{{{1}}}|{{{2}}}|three}} {{{1}}} Returns the text "{{{1}}}", because it is a non-empty string. Note the lack of "|" in the first two parameters.
{{ifempty|{{{logo|}}}|two}} two
{{ifempty|{{{logo}}}|two}} {{{logo}}} Returns the text "{{{logo}}}", because it is a non-empty string. Note the lack of "|" in the first parameter.
{{ifempty|2=x}} x Whether parameter 1 is undefined or empty does not matter.
{{ifempty|p=q}} The template checks its parameters 1-9, not other ones.

See also

  • {{If all}}
  • {{If either}}
  • {{px}} – Helps handling image width parameters in templates.
  • Help:Parameter default – You probably don't need to know this anymore if you use this template.