سانچو:Ifempty/دستاویز
هن سانچي ۾ لُووا استعمال آھي: |
هي سانچو 640000+ صفحن تي مستعمل آهي. To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its /sandbox or /testcases subpages, or in your own user space. The tested changes can then be added to this page in one single edit. Please consider discussing any changes on the بحث صفحو before implementing them. |
This is the {{If empty}} template.
- Update 2014 Dec 23: This template used to only take 9 parameters. This limit has been removed.
This template is used inside other templates. It takes any number of parameters and returns the first found to be defined and non-empty. If none is found, nothing is returned. Typical usage is like this:
{{If empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
- ("Return {{{logo|}}} if it has a value; else {{{image|}}} if it has a value; else {{{picture|}}} if it has a value; else return "default.svg".")
This returns the first of the parameters logo and image that is defined and non-empty, otherwise "default.svg".
Rationale
سنواريو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 for a single parameter is:
{{#if:{{{logo|}}} |{{{logo}}} |default.svg}}
- ("If {{{logo}}} has a value, return it, else return "default.svg".")
But this becomes complex when several parameters are to be checked:
{{#if:{{{logo|}}} |{{{logo}}} |{{#if:{{{image|}}} |{{{image}}} |{{#if:{{{picture|}}} |{{{picture}}} |default.svg}} }} }}
- ("If {{{logo}}} has a value, return it; else if {{{image}}} has a value, return that; else if {{{picture}}} has a value, return that; else return "default.svg".)
In these cases, {{if empty}} produces the simpler syntax (as above):
{{if empty |{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
Piping
سنواريوParameters used with {{if empty}} must be piped – i.e. include the vertical bar (pipe) symbol (" | ") as a trailing character – so that empty or undefined parameters aren't treated as text and returned incorrectly. Hence, for example, {{{logo|}}}
, {{{image|}}}
and {{{picture|}}}
rather than {{{logo}}}
, {{{image}}}
and {{{picture}}}
in the above examples.
Examples
سنواريوCode | Result | |
سانچو:Tc | Returns an empty string. | |
سانچو:Tc | one | Returns the first parameter that is defined and not empty. |
سانچو:Tc | one | |
سانچو:Tc | one | |
سانچو:Tc | two | The first parameter is empty/undefined, so is passed over. |
سانچو:Tc | two | |
سانچو:Tc | two | |
{{if empty||||||||||ten}} | ten | Unlike in previous versions, this template is no longer limited by 9 parameters. |
سانچو:Tc | The only parameter is empty or undefined, so returns an empty string. | |
سانچو:Tc | Returns an empty string. | |
{{if empty|{{{1|}}}|{{{2|}}}|three}} | three | |
{{if empty|{{{1}}}|{{{2}}}|three}} | {{{1}}} | No pipe-characters following the names of the first two parameters ("1" and "2"), so the first of these returned as text ("{{{1}}}"). |
{{if empty|{{{logo|}}}|two}} | two | |
{{if empty|{{{logo}}}|two}} | {{{logo}}} | No pipe-character following the parameter name "logo", so the text "{{{logo}}}" returned. |
{{if empty|p=q}} | The template identifies the parameters it receives as parameters 1 to 9, not using names such as "p", etc. |
See also
سنواريو- {{if all}}
- {{if either}}
- Help:Parameter default