iif

Podmíněný výraz; testuje hodnotu prvního argumentu a podle výsledku vrátí buď druhý, nebo třetí argument.

Object not ( 
    Boolean test ,
    Object if-true ,
    Object if-false
)
test
Libovolná hodnota. Její konverze na logickou hodnotu se řídí stejnými pravidly jako v podmínce – příkazu if.
if-true
Hodnota, která je výsledkem výpočtu funkce, pokud se test vyhodnotil na true.
if-false
Hodnota, která je výsledkem výpočtu funkce, pokud se test vyhodnotil na false.

Funkce je tedy obdobou ternárního operátoru  ? :  známého z různých programovacích jazyků.

Příklad: Funkce iif pro výběr datového zdroje
Vstup
{let c := value(_request.params.category, null)}
{while iif(c, _template.categoryItems, _template.allItems) category=c}
  ...
{/while}

Při iteraci přes JDO dotazový datový zdroj je nutné zajistit, aby byly zdroji vždy předané správné parametry.

Předpokládejme, že k šabloně jsou připojené dva dotazové zdroje: categoryItems s parametrem category a allItems bez parametrů.

Hodnota parametru se přebírá z requestu, samozřejmě jen pokud je nastavena.

Pomocí funkce iif se zajistí volání vždy toho správného zdroje. Tímto způsobem je možné eliminovat zbytečné duplikování kódu.

Pro vložení příspěvku do diskuse se přihlašte.