Nodyn:Ifempty/doc
Dyma is-ddalen dogfennaeth ar gyfer Nodyn:Ifempty. Mae'n cynnwys gwybodaeth defnydd, categorïau, dolenni rhyngiaith a chynnwys eraill sydd ddim yn rhan o nodyn dudalen wreiddiol. |
This template is used on 60,000+ pages, and changes to it will be widely noticed. Please test any changes in the template's /sandbox or /testcases subpages, or in a user subpage, and consider discussing changes at the talk page before implementing them. |
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
[golygu cod]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
[golygu cod]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. |
See also
[golygu cod]- {{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.