الگو:اگر خالی/آزمایشی
این الگو در ۵۸۹٬۰۰۰+ صفحه، یا نزدیک به ۱۰٪ از کل صفحهها صفحه بهکار رفته است. بهمنظور جلوگیری از ایجاد اخلال و وارد شدن فشار به سرورها، هرگونه تغییر باید ابتدا در زیرصفحههای /تمرین یا /آزمایشی الگو، یا در زیرصفحهٔ کاربری خودتان آزمایش شود. تغییرات آزمایششده را میتوان در یک ویرایش به این صفحه افزود. توصیه میشود که ابتدا در خصوص تغییرات مورد نظر در صفحهٔ بحث گفتگو کرده و سپس آنها را پیادهسازی کنید. |
This is the {{if empty}} template.
This template is used inside other templates. It takes up to nine parameters (unnamed parameters 1-9) and returns the first found to be defined and non-empty. If none is found, nothing is returned. Typical usage is like this:
{{Ifempty|{{{logo|}}} |{{{image|}}} |{{{picture|}}} |default.svg}}
- الگو:95%
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: {{الگو|logo=}}
.
The usual workaround for a single parameter is:
{{#if:{{{logo|}}} |{{{logo}}} |default.svg}}
- الگو:95%
But this becomes complex when several parameters are to be checked:
{{#if:{{{logo|}}} |{{{logo}}} |{{#if:{{{image|}}} |{{{image}}} |{{#if:{{{picture|}}} |{{{picture}}} |default.svg}} }} }}
- الگو:95%
In these cases, {{if empty}} produces the simpler syntax (as above):
{{Ifempty|{{{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 | |
{{if empty}} | Returns an empty string. | |
{{if empty|one}} | one | Returns the first parameter that is defined and not empty. |
{{if empty|one|two}} | one | |
{{if empty|one|two|three|four}} | one | |
{{if empty||two}} | two | The first parameter is empty/undefined, so is passed over. |
{{if empty||two|three|four}} | two | |
{{if empty||two||four}} | two | |
{{Ifempty|||||||||nine}} | nine | |
{{Ifempty||||||||||ten}} | Empty string returned if maximum of nine parameters exceeded. | |
{{if empty|}} | The only parameter is empty or undefined, so returns an empty string. | |
{{if empty||||}} | Returns an empty string. | |
{{Ifempty|{{{1|}}}|{{{2|}}}|three}} | three | |
{{Ifempty|{{{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}}}"). |
{{Ifempty|{{{logo|}}}|two}} | two | |
{{Ifempty|{{{logo}}}|two}} | {{{logo}}} | No pipe-character following the parameter name "logo", so the text "{{{logo}}}" returned. |
{{Ifempty|2=x}} | x | Whether parameter 1 is undefined or empty does not matter. |
{{Ifempty|p=q}} | The template identifies the parameters it receives as parameters 1 to 9, not using names such as "p", etc. |
See also
[ویرایش]- الگو:Tlspc
- الگو:Tlspc
- الگو:Tlspc assists in handling image-width parameters within templates.
- Help:Parameter default