Pređi na sadržaj

Šablon:If empty/dok

Izvor: Vojna Enciklopedija

{{#ifeq:dok |dok

    | 

{{#ifeq:show |show

|

        }}{{#if: |
         |   {{#ifexist:Шаблон:If empty
                  | [[Категорија:Документација {{#switch:Шаблон |Шаблон=шаблона |Модул=модула |Корисник=корисничких страница |#default=Википедије}}]]
                  | 
                 }}
        }}
    | 
   }}

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) („{{

  1. if:

| {{{1}}}  }}|{{

  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š