Šablon:If empty
Ovaj šablon koristi Lua modul: |
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
urediMedijaviki 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 empty}} omogućava korišćenje jednostavnije sintakse, koja za slučaj iznad glasi:
{{if empty |{{{лого|}}} |{{{датотека|}}} |{{{слика|}}} |default.svg}}
Korišćenje uspravne crte
urediParametri korišćeni sa šablonom {{if empty}} moraju biti sa uspravnom crtom — tj. moraju uključivati simbol uspravnu crtu (liniju) („ | ”) 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 {{{лого}}}
, {{{датотека}}}
i {{{слика}}}
(redom) u primerima iznad.
Primeri
urediKod | Rezultat | |
{{if empty}} | Vraća prazan niz (nisku, string). | |
{{if empty|један}} | jedan | Vraća prvi parametar koji je definisan i koji nije prazan. |
{{if empty|један|два}} | jedan | |
{{if empty|један|два|три|четири}} | jedan | |
{{if empty||два}} | dva | Prvi parametar je prazan/nedefinisan, tako da se isti preskače. |
{{if empty||два|три|четири}} | dva | |
{{if empty||два||четири}} | dva | |
{{if empty||||||||||десет}} | deset | Za razliku od prethodnih verzija šablona, ovaj šablon više nije ograničen na samo 9 parametara. |
{{if empty|}} | Jedini parametar koji postoji je prazan ili nedefinisan, tako da se vraća prazan niz (niska, string). | |
{{if empty||||}} | 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š
uredi- {{if all}}
- {{if either}}
- en:Help:Parameter default