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".
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.
Code
| Result
| Comment
|
---|
{{ifempty}}
| | Returns an empty string.
|
{{ifempty|one}}
| | Returns the first parameter that is defined and not empty.
|
{{ifempty|one|two}}
| |
|
{{ifempty|one|two|three|four}}
| |
|
{{ifempty||two}}
| | The first parameter was empty or undefined, so uses the next parameter.
|
{{ifempty||two|three|four}}
| |
|
{{ifempty||two||four}}
| |
|
{{ifempty|||||||||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}}
| |
|
{{ifempty|{{{1}}}|{{{2}}}|three}}
| | Returns the text "{{{1}}}", because it is a non-empty string. Note the lack of "|" in the first two parameters.
|
{{ifempty|{{{logo|}}}|two}}
| |
|
{{ifempty|{{{logo}}}|two}}
| | Returns the text "{{{logo}}}", because it is a non-empty string. Note the lack of "|" in the first parameter.
|
{{ifempty|2=x}}
| | Whether parameter 1 is undefined or empty does not matter.
|
{{ifempty|p=q}}
| | The template checks its parameters 1-9, not other ones.
|
- {{
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.