Orion::Template syntax

Patrik Votoček

Pro dnešek jsem si připravil malí úvodní článek o mém PHP frameworku Orion. Tím prvním článkem bude uvod do syntaxe template-u.

Variable

První by uřčitě mela být ukázka definování proměné. Tak tady je:

{VARIABLE}

Syntaxe vložení proměné je velice podobná jako u smarty akorat neobsahuje $. Dříve byly definovány určité základní proměnné, jako např. den, měsíc, rok atd. Nicméně jsem je po roce odsranil. Důvodem bylo to že jsem je vpodstatě nevyužíval a protože zbytečně zpomalovaly celý script.

If/Else

Dalším pánem na holení je If/Else:

<!-- IF START "CONDITION" -->
<p>OK</p>
<!-- IF END "CONDITION" -->
<!-- ELSE START "CONDITION" -->
<p>KO</p>
<!-- ELSE END "CONDITION" -->

Klauzule Else není povinná. Ale pokud v šabloně existuje tak se použije. Proč jsem nepoužil něco takového?:

<!-- IF START "CONDITION" -->
<p>OK</p>
<!-- ELSE "CONDITION" -->
<p>KO</p>
<!-- IF END "CONDITION" -->

Protože občas potřebuji klauzuli end použíz vnořenou do jiného tagu než ve kterém je klauzule if. A takto by to bylo nemožné.

Include

Další pán na holení je Include:

<!-- INCLUDE "INCLUDE" -->

Jednoduché a funkční.

Form

Dále tu máme Formulář:

<!-- FORM "FORM" -->

Form je v podstatě vložení kódu “Nette::Form”((Dříve NForm)) .

Repeat

A poslední je Repeat (cyklus). První ukázka je nejjednodušší:

<!-- REPEAT START "LOOP" -->
<p>Repeating text</p>
<!-- REPEAT END "LOOP" -->

Složitější verze:

<!-- REPEAT IF START "LOOP" -->
<ul><!-- REPEAT START "LOOP" -->
<li><p>Repeating text</p></li>
<!-- REPEAT END "LOOP" --></ul>
<!-- REPEAT IF END "LOOP" -->

Tady příbyla část Repeat If, což je v podstatě podmínka která dovolí zobrazit HTML tady ul pouze v případě že bude definován alespoň jeden krok cyklu. A nejsložitější verze:

<!-- REPEAT IF START "LOOP" -->
<ul><!-- REPEAT START "LOOP" -->
<li><p>Repeating text</p></li>
<!-- REPEAT END "LOOP" --></ul>
<!-- REPEAT IF END "LOOP" -->
<!-- REPEAT ELSE START "LOOP" -->
<p>No repeating data</p>
<!-- REPEAT ELSE END "LOOP" -->

Zde přibyla další část a tou je Repeat Else, který se zobrazí v případě kdy není definován ani jeden krok cyklu.

Poslední dva příklady jsou pochopiteně nepovinné. Uvnitř repeatu můžete definovat další proménné, if/else a další repeaty(vnořené repeaty – vnořovat jde neomezeně).

Závěr

Závěrem bych jenom dodal že uvnitř úvozovek je vždy udáno ID které musí být schodné s ID v PHP a musí být psáno velkými písmeny(pouze v šabloně). Přoč jsem zvolil pro syntaxy komentáře? protože v případě problému se v podstatě nic neděje.

Máte nějáke nápady na vylepšení nebo jenom nějáký názor? Napište to prosím do komentářů.

« »