value
Vrací první nenulový argument.
Objectvalue(Object arg-1 [,Object arg-2 [,… Object arg-n ] ])
- arg-1, arg-2,…, arg-n
- Libovolné hodnoty.
Při vyhodnocení funkce se postupně procházejí všechny argumenty. Každý z nich je postupně otestován tak, že se převede na logickou hodnotu. První takový, jehož převod skončí jako true, funkce vrací jako výsledek. Ostatní argumenty vůbec nevyhodnocuje.
Pokud se všechny argumenty vyhodnotí jako false, vrací funkce null.
Funkce tedy nikdy nevrátí prázdný řetězec ani číslo 0. Pokud potřebujete takový výsledek, pravděpodobně se vám spíše bude hodit některá z funkcí iif, asInt, asString. Funkce normálně může vracet řetězec "0".
A: {value(_request.params.pos, 0)}
B: {iif(_request.params.pos, _request.params.pos, 0)}
A:
B: 0
Toto je výsledek, pokud v parametrech není vůbec přítomný parametr "pos". Funkce value vrací null.
Použití
Funkce se typicky používá pro doplnění defaultní hodnoty.
<div class="box">
<h2>{value(_asset.title, "Další informace")}</h2>
<div>{_asset.body jnprefs=_asset}</div>
</div>
Funkce value zajistí, že se vypíše jako záhlaví boxu titulek formátovaného assetu, a pokud tento asset titulek nemá, vypíše se záhlaví "Další informace".