<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é.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)