Seznam změn oproti verzi 1.0
Nové vlastnosti
- Bloku IF byla nyní přidána volitelná část ELSE, která se zpracuje není-li podmínka splněna. syntaxe je:
<!-- JTPL: IF podmínka ID: identifikátor --> Toto se zobrazí, je-li podmínka splněna <!-- JTPL: ELSE: identifikátor --> toto se zobrazí, když podmínka není splněna <!-- JTPL: ENDIF: identifikátor --> - Podmíněné bloky, které bez ohledu na výsledek podmínky už nemají šanci na zobrazení, se nyní nevyhodnocují. Například pokud šablona obsahuje blok IF s částí ELSE a obě části obsahují další (vnořené) bloky IF, vnořené bloky se vyhodnotí jen v té části, která se bude zobrazovat. Díky tomu se oproti verzi 1.0 zrychluje zpracování šablon s vnořenými podmíněnými bloky.
- Narazí-li JoresTemplate v šabloně na blok IF, který nedokáže zpracovat, zapíše se nyní chyba do JoresTemplate->errors, v debug režimu se vypíše i chybová hláška na výstup. Typickou příčinou je chybějící ENDIF, ale tato chyba může někdy (ne vždy) nastat i při vícenásobném použití stejného ID bloku v šabloně.
- Každý blok IF nyní musí mít odpovídající ENDIF. Chování, kdy IF bez odpovídajícího ENDIF byl považován za IF až do konce šablony, bylo zrušeno.
- Direktiva IF, kterou šablona nedokáže zpracovat, se ve výstupu nahradí textem: <!-- JTPL ERROR -->. Nahrazuje se jen direktiva IF (tzn. <!-- JTPL: IF … -> - v případě chyby ostatně JoresTemplate obvykle nedokáže určit rozsah bloku)
- Syntaxe direktiv IF, ENDIF a COMMENT je nyní méně striktní na počet mezer mezi komentářovou značkou a direktivou. Netýká se ovšem direktiv START BLOCK a END BLOCK, kde se stále vyžaduje právě jedna mezera.
- Přidána metoda tpl_exists, která otestuje existenci šablony daného jména (užitečná pro kontrolu existence šablony před pokusem o její zaregistrování).
- Přidána metoda flush_errors, která smaže seznam nastavených chyb.
Opravy chyb
- Opraveno chybné chování direktivy IF, pokud se v podmínce operátorem = porovnávalo proti prázdnému řetězci.
- Opraveno nesprávné vyhodnocení kombinace NOT = v direktivě IF.