<if testtype="typ_testu" condition="php_vyraz" param1="parametr1" param2="parametr2" sql="SELECT_sql_vyraz">
... obsah ...
</if>
Vyhodnotí podmínku a v případě její platnosti provede obsah.
Atributy:
testtype - (nepovinný) Typ testu, který se má provést.condition - (nepovinný) PHP výraz, který se vyhodnotí v případě, že je testtype="expression" nebo není zadán.param1 - (nepovinný) První parametr pro testy.param2 - (nepovinný) Druhý parametr pro testy.sql - (nepovinný) SQL výraz pro testy emptysql a notemptysql.Typy testů:
expression - (výchozí hodnota) - vyhodnotí podmínku z atributu condition pomocí funkce PHP eval(). Podmínka může obsahovat proměnné.emptysql - vrací true, pokud je obsah výsledku SQL dotazu zadaného atributem sql prázdný.notemptysql - vrací true, pokud obsah výsledku SQL dotazu zadaného atributem sql není prázdný.error - vrací true, pokud v průběhu vykonávání XML formuláře došlo k chybě (generované tagem <error> nebo nějaké jiné chybě).=, ==, eq, >, gt, >=, gteq, <, lt, <=, lteq, <>, !=, neq, noteq - porovnání parametrů param1 a param2. Parametry mohou obsahovat proměnné.eqci, neqci, noteqci - case insensitive porovnání parametrů param1 a param2. Parametry mohou obsahovat proměnné.or, and - provede logickou operaci se všemi parametry param1, param2, .... Počet parametrů není omezen, ale v řadě nesmí být žádný vynechaný (takže nelze zadat např. param1, param3 a vynechat param2)
not, ! - logická operace not boolovské hodnoty parametru param1
Pokud není zadán typ testu a je zadán parametr param1, tak se vyhodnotí boolovská hodnota tohoto parametru. Pokud není param1 zadán, tak je implicitní typ testu "expression". POZOR! Nepoužívejte v textu podmínky poznámky - pokud je to SQL dotaz, je předán serveru včetně těch poznámek!
<if testtype="eq" param1="{$promenna1}" param2="{$promenna2}">
... obsah ...
</if>
Pokud je hodnota proměnné promenna1 rovna (eq) hodnotě proměnné promenna2 provede se obsah.
<if condition="{$cena:float} * (100 + {$sazbaDPH:float}) / 100 > {$maximalniCena:float}">
...
</if>
Pokud je splněna zadaná podmínka, provede se obsah.
<if testtype="emptysql" sql="SELECT Id FROM PracovniPomer WHERE RC = {$rc_osoby}">
...
</if>
Provede obsah, pokud je výsledek zadaného SQL dotazu prázdný (když nenajde pracovní poměr se zadaným RC)