Šablon:If empty/dok
{{#ifeq:dok |dok
|
{{#ifeq:show |show
|
| Ovo je dokumentaciona podstranica za Šablon:If empty. Sadrži informacije o korišćenju, kategorijama i drugom sadržaju koji nije deo originalne stranice. |
}}{{#if: |
| {{#ifexist:Шаблон:If empty
| [[Категорија:Документација {{#switch:Шаблон |Шаблон=шаблона |Модул=модула |Корисник=корисничких страница |#default=Википедије}}]]
|
}}
}}
|
}}
| Ovaj šablon pokreće Lua: |
Ovo je {{If empty}} šablon. Ne treba ga poistovećivati sa šablonom {{Ifempty}}.
- Ažuriranje 23. decembra 2014. (na engleskoj Vikipediji): Ovaj šablon je mogao koristiti maksimalno 9 parametara. Ovaj limit je uklonjen.
Ovaj šablon je namenjen za upotrebu u drugim šablonima. Obrađuje bilo koji broj parametara i vraća prvi pronađeni koji je definisan i koji nije prazan. Ako nijedan ovakav parametar nije pronađen, šablon neće vratiti nikakav rezultat. Tipična upotreba je sledeća:
{{If empty |{{{лого|}}} |{{{датотека|}}} |{{{слика|}}} |default.svg}}- („Врати параметар {{{лого|}}} уколико има неку вредност; ако параметар {{{лого|}}} није дефинисан, врати параметар {{{датотека|}}} уколико има неку вредност; ако параметар {{{датотека|}}} није дефинисан, врати параметар {{{слика|}}} уколико има неку вредност; у осталим случајевима врати „default.svg”.”)
Ovakva upotreba vraća prvi od parametara logo, datoteka i slika (redom) koji je definisan i koji nije prazan; u ostalim slučajevima vraća „default.svg”.
Obrazloženje
Medijaviki podrazumevana funkcija za parametre ne vraća podrazumevanu vrednost za prazne parametre. To jest, {{{лого|default.svg}}} ne vraća „default.svg” ukoliko je šablon napisan na sledeći način: {{шаблон|лого=}}.
Uobičajeno alternativno rešenje za jedan parametar je:
{{#if:{{{лого|}}} |{{{лого}}} |default.svg}}- („Ако параметар {{{лого}}} има вредност, врати параметар {{{лого}}}; у осталим случајевима врати „default.svg”.”)
Međutim, ovo postaje sve više i više kompleksno kako broj parametara koji zahtevaju proveru raste:
{{#if:{{{лого|}}} |{{{лого}}} |{{#if:{{{датотека|}}} |{{{датотека}}} |{{#if:{{{слика|}}} |{{{слика}}} |default.svg}} }} }}- („Ако параметар {{{лого}}} има вредност, врати параметар {{{лого}}}; ако параметар {{{лого}}} нема вредност и ако параметар {{{датотека}}} има вредност, врати параметар {{{датотека}}}; ако параметар {{{датотека}}} нема вредност и ако параметар {{{слика}}} има вредност, врати параметар {{{слика}}}; у осталим случајевима врати „default.svg”.”)
U ovim slučajevima, {{{{#if:if empty|if empty| tlf|...}}{{#ifeq:x|| |{{{2}}} | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} omogućava korišćenje jednostavnije sintakse, koja za slučaj iznad glasi:
{{if empty |{{{лого|}}} |{{{датотека|}}} |{{{слика|}}} |default.svg}}
Korišćenje uspravne crte
Parametri korišćeni sa šablonom {{{{#if:if empty|if empty| tlf|...}}{{#ifeq:x|| |{{{2}}} | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} moraju biti sa uspravnom crtom — tj. moraju uključivati simbol uspravnu crtu (liniju) („ {{
- if:
| {{{1}}} }}| {{
- if:
| {{{1}}}
}}”) kao prateći karakter (simbol, znak, glif) — tako da prazan ili nedefinisan parametar ne bi bio tretiran kao tekst i vraćen pogrešno. Dakle, na primer, {{{лого|}}}, {{{датотека|}}} i {{{слика|}}} trebaju biti korišćeni umesto |{{SAFESUBST:#if:logo|logo=}}, |{{SAFESUBST:#if:datoteka|datoteka=}} i |{{SAFESUBST:#if:slika|slika=}} (redom) u primerima iznad.
Primeri
| Kod | Rezultat | |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:x|| |{{{2}}} | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | Vraća prazan niz (nisku, string). | |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:један|један| |један | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | jedan | Vraća prvi parametar koji je definisan i koji nije prazan. |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:један|један| |један | }}{{#ifeq:два|два| |два | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | jedan | |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:један|један| |један | }}{{#ifeq:два|два| |два | }}{{#ifeq:три|три| |три | }}{{#ifeq:четири|четири| |четири | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | jedan | |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:|| | | }}{{#ifeq:два|два| |два | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | dva | Prvi parametar je prazan/nedefinisan, tako da se isti preskače. |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:|| | | }}{{#ifeq:два|два| |два | }}{{#ifeq:три|три| |три | }}{{#ifeq:четири|четири| |четири | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | dva | |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:|| | | }}{{#ifeq:два|два| |два | }}{{#ifeq:|| | | }}{{#ifeq:четири|четири| |четири | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | dva | |
{{if empty||||||||||десет}} | deset | Za razliku od prethodnih verzija šablona, ovaj šablon više nije ograničen na samo 9 parametara. |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:|| | | }}{{#ifeq:x|| |{{{3}}} | }}{{#ifeq:x|| |{{{4}}} | }}{{#ifeq:x|| |{{{5}}} | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | Jedini parametar koji postoji je prazan ili nedefinisan, tako da se vraća prazan niz (niska, string). | |
{{{{#if:if empty|if empty| tlc|...}}{{#ifeq:|| | | }}{{#ifeq:|| | | }}{{#ifeq:|| | | }}{{#ifeq:|| | | }}{{#ifeq:x|| |{{{6}}} | }}{{#ifeq:x|| |{{{7}}} | }}{{#ifeq:x|| |{{{8}}} | }}{{#ifeq:x|| |{{{9}}} | }}}} | Vraća prazan niz (nisku, string). | |
{{if empty|{{{1|}}}|{{{2|}}}|три}} | tri | |
{{if empty|{{{1}}}|{{{2}}}|три}} | {{{1}}} | Bez uspravnih crta posle imena prvih dvaju parametara („1” i „2”), tako da se prvi od njih vraća kao obični tekst („{{{1}}}”). |
{{if empty|{{{лого|}}}|два}} | dva | |
{{if empty|{{{лого}}}|два}} | {{{logo}}} | Bez uspravnih crta posle imena prvog parametra („logo”), tako da se isti vraća kao obični tekst („{{{logo}}}”). |
{{if empty|p=q}} | Šablon identifikuje parametre koje prima kao parametre 1 do 9, a ne koristeći imena kao što je „p” i sl. |
Vidi još
- {{if all}}
- {{if either}}
- en:Help:Parameter default