Smarty Template Engine 19.díl - Funkce IV.
V tomto díle uzavřeme základní používané funkce v php.
php
Umožňuje přesně to, co bychom od ní očekávali. Umožňuje nám vložit php kód přímo od .tpl šablony. U této funkce nečekejme žádné parametry. Funkce by se však měla používat jen zřídka kdy z pochopitelných důvodů. Tím je snižování přehlednosti a čistoty kódu (oddělení aplikační a prezenční logiky) a neopatrné vložení chyby přímo do tpl šablony, která se poté těžko hledá a odlaďuje právě v případě, kdy máme aplikační část na dvou místech zároveň. Pro vložení kódu doporučuji použít spíše funkci {include_php}.Problémové může být používání proměnných z php souboru v případě, kdy máte nastavenou direktrivu register_globals na off.
Použití tohoto příkazu by mělo sloužit pouze zkušeným kodérům, či spíše samotným PHP programátorům.
index.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
{php}
echo "Zde pouzivam PHP";
{/php}
</p>
{include file='./paticka.tpl'}
section
O příkazu section už jsme se velice podrobně bavili tady: http://www.owebu.cz/php/vypis.php?clanek=2513. Proto pouze pro úplnost:
- name – jméno section, unikátní pro šablonu
- loop – jméno procházené proměnné
- start – hodnota, kterou má cyklus brát jako výchozí od začátku pole. V případě záporného čísla počítá section hodnotu od konce pole. V případě zadání hodnoty, jež neleží v rozmezí, si najde section sám hodnotu nejbližší (nepovinná)
- step – krok jednoho cyklu. V případě záporného čísla bude cyklus iterovat pozpátku
- max – maximální počet iterací cyklu (nepovinná)
- show – (true/false) – určuje zobrazení sekce (nepovinná)
index.tpl
{section name=name loop=$variable step=1 start=0 show=true}
{/section}
Pokud bychom např. rádi vypisovali pouze sudé záznamy a to od konce a pozpátku, použijeme následující syntaxi. (Např. pro 20 záznamů)
{section name=variable loop=$name step=-2 start=19 show=true}
{/section}
strip
Funkce strip opět zastupuje obdobnou funkci dobře známou většine programátorů. Funkce odstraní z (X)HTML kódu ve svém těle všechny zbytečné mezery a odřádkování. Sníží tím tedy velikost souboru. V dnešní době relativně rychlého připojení internetu se může tato funkce jevit jako zbytečná, přesto má tato úprava kódu své zastánce.Z takto napsaného kódu:
index.tpl
{include file='./hlavicka.tpl' hlavicka='Smarty Template Engine'}
<p>
{strip}
<table>
<tr>
<td style="color:a00;">
Text je zde
</td>
</tr>
</table>
{/strip}
</p>
{include file='./paticka.tpl'}
udělá pro prohlížeš následující:
<table><tr><td style="color:a00;">Text je zde</td></tr></table>