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".