Smarty Template Engine 6.díl - Speciální proměnné

Napsal (») 19. 4. 2009 v kategorii PHP/HTML, přečteno: 1702×
obrazky/smarty.gif

Smarty Template Engine 6.díl - Proměnné III.


Stejně jako PHP, tak i Smarty Template Engine obsahuje speciální proměnné a také zde můžeme tvořit proměnné vlastní. Tato část bude tedy zaměřená spíše na programátory.



Speciální proměnné


Pomocí speciálních proměnných můžeme přistupovat k datům předávaným metodami POST, GET, k hodnotám uloženým v COOKIES, či SESSION. V případě, že nějaké takové máme definované, můžeme je vypsat, či s nimi přímo v .tpl souborech pracovat zcela jednoduchým způsobem.


  • $smarty.get.nazev - pro hodnotu "nazev" předanou metodou GET

  • $smarty.post.nazev - pro hodnotu "nazev" předanou metodou POST

  • $smarty.cookies.nazev - pro hodnotu "nazev" definovanou jako COOKIES

  • $smarty.post.session - pro hodnotu "nazev" definovanou jako SESSION



Speciální proměnné
Stejně jako v PHP můžeme i ve Smarty použít některé speciální proměnné. Pro příklad vypíšu ty, jež by se mohli doopravdy hodit. Ve všech příkladech jde o ekvivalenty php funkcí a proto je u některých potřeba použit modifikátory (o kterých budemem mluvit až příště) pro srozumitelné zobrazení.

$smarty.now - vrací čas ve vteřinách od 1. 1. 1970.
$smarty.template - aktuálně používaná šablona
$smarty.section, $smarty.foreach - slouží pro přístup k hodnotám cyklických funkcí ve Smarty. Popíšeme si v příštích dílech

Definování vlastní proměnné


V některých případech (složítejší výpisy dat z DB, výpočty pro ajax aj.) je potřeba definovat přímo v .tpl souboru vlastní proměnnou a dále s ní pracovat. Smarty tuto možnost má, i když práce s takovou proměnnou je poněkud kostrbatá.

Definování proměnné

{assign var=nazev value='hodnota'} /* deklarace */
{$nazev} /* vypis */



Pokud by jsme do proměnné "nazev" uložili číslo jedna a chtěli ho např. při každém kroku cyklu iterovat, postup by byl následující

{assign var=nazev value=1}
{foreach from=$var item=out}
{assign var=nazev value=$nazev+1}
{$nazev} - {$out}
{/foreach}


Další možnosti předávání proměnných


Možností jak předávat proměnné je více, než několik základních, jež jsme si ukázali ve 4. dílu. Ty jsou samozřejmě omezeny možnostmi php, s některými se ale určitě při své práci se Smarty setkáte, proto uvedu ty nejpoužívanější.
Celý seznam naleznete na oficiálních stránkách projektu Smarty

{$item.$promenna} - odkázání na konkrétní index pole pomocí proměnné
{$item->metoda()} - vrátí hodnotu metody
{#foo#} - zobrazí konfigurační == {$smarty.config.foo}
{$foo[4].baz} - odkázání na konkrétní atribut položky indexované jako "4"


Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel pět a nula