iif
Podmíněný výraz; testuje hodnotu prvního argumentu a podle výsledku vrátí buď druhý, nebo třetí argument.
Objectnot(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.