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.