Smarty Template Engine 7.díl - Modifikátory I.

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

Smarty Template Engine 7.díl - Modifikátory I.


Pod pojmem modifikátory si můžeme představit PHP funkce pro úpravu výstupu dat. Výstupní data je často potřeba editovat nejrůznějšími způsoby a pro co nejlepší oddělení aplikační a prezenční logiky nabízí Smarty Template Engine práci s těmi nejdůležitejšími funkcemi.

Jejich zápis je velice jednoduchý a používá se vždy stejně. Modifikátor vyvoláme svislou čarou "|", za níž vložíme název modifikátoru. Parametry pak voláme za dvojtečkami ":".
Modifikátory samozřejmě můžeme kombinovat vložením dalšího svislítka atd.
Pokud existuje možnost vyvolat parametr celé proměnné, provedeme to vložením znaku „@“ před modifikátor.

Je důležité zdůraznit, že modifikátory nemohou naplno nahradit PHP funkce. Z pohledu programátora nejde totiž o nic jiného, než volání souvisejícího modifikátoru, prezentovaného v PHP. Přesto se pro výstup obecně doporučuje editovat výstup až v prezenční logice. Výhoda je opět jasná. XHTML kodér má možnost jednoduše a přehledně pracovat a upravovat data bez potřeby znalosti skriptovacího jazyka, bez nutnosti přijít si za programátorem pro pomoc.

Jednoduchá ukázka výstupu času


V následujícím příkladu si ukážeme modifikaci speciální Smarty proměnné "now" (ukázali jsme si minulém díle). Běžně je však třeba upravovat časový výstup vložení článků, příspěvku do fóra apod.

index.tpl
{$smarty.now|date_format:"%d. %m. %Y"}


Upraví výstup na standartní vzhled pro ČR. Tedy den. Měsíc. Rok

index.tpl
{$smarty.now|date_format:"%d. %m. %Y"}
<br/>
{$smarty.now|date_format:"%d. %m. %Y %H :%M :%S"}


Takovýto výstup navíc přidá k datu Hodinu, minutu a sekundu. Opět podle českých standartů (tedy 24 – hodinový formát).
Procento „%“ uvozuje parametr. Hodnota bez otazníků se obyčejně vepíše mezi datum. Proto můžeme místo teček napsat např.

index.tpl
{$smarty.now|date_format:"%d. %m. %Y"}
<br/>
{$smarty.now|date_format:"%d. %m. %Y %H :%M :%S"}
<br/>
{$smarty.now|date_format:"dne %d mesice %m , roku %Y v hodine %H minute %M a sekunde %S"}


Pro čtenáře, znalé PHP, je jasný menší rozdíl v syntaxi. V PHP se jako modifikátor u funkce „date“ používá „i“, pro sekundy malé „s“ (v PHP je velké „S“ ekvivalentem pro zkratku dne v měsíci). Smarty zavádí menší škálu možnosti a jak je zřejmě, i mírně jinou syntaxi.
Nejznámějšá parametry modifikátoru date_format jsou tyto:

  • d – pro den číselnou reprezentaci dne v měsící

  • H – 0 – 23 reprezentace hodiny dne

  • I – 0 – 11 reprezentace hodiny dne

  • m – číselná reprezentace měsíce v roce

  • M – číselná reprezentace minuty 0 – 59

  • p – am/pm dle času

  • R – zkrácený výpis 24 – hodinového formátu času a minuty (ekvivalent pro %H:%M)

  • S – sekundy jako číslo

  • w – den týdne jako číšlo – pondělí začíná jako „0“

  • T – zkrácený výpis 24 – hodinového formátu času a minuty (ekvivalent pro %H:%M:%S)

  • y – rok bez století

  • Y – rok včetně století


  • Vše naleznete zde: http://smarty.net/manual/en/language.modifier.date.format.php
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 jedna a osm