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