Template:Ifempty/docEdit This Page
From FamilySearch Wiki
|
|
This is a documentation subpage for Template:Ifempty (see that page for the template itself). It contains usage information, categories and other content that is not part of the original template page. |
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
| Code | Result | Comment |
|---|---|---|
{{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
- {{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.
- This page was last modified on 3 January 2011, at 15:38.
- This page has been accessed 26 times.
New to the Research Wiki?
In the FamilySearch Research Wiki, you can learn how to do genealogical research or share your knowledge with others.
Learn More