30 Eyl 2007

Smarty Modifiers

Günlüğe yazmayalı oldukça uzun zaman olmuş...Gerek işlerin yoğunluğu, gerekse mevsimin yaz olması nedeniyle günlüğe yazı yazmak pek aklıma gelmedi açıkçası.

Bugün bir web uygulamasında smarty ile ilgili birşeyle uğraşırken smarty'nin yeri geldiğinde ne kadar faydalı bir yapı olabileceğini bir kere daha anladım. Neyse fazla uzatmayacağım.

Smarty Modifiers sayesinde Php dahili (?) fonksiyonlarını doğrudan Smarty Modifiers şeklinde, smarty değişkenlerini işlemek, düzene sokmak için kullanabiliyoruz. Hemen bir örnekle duruma açıklık getireyim.

Diyelimki Mysql'den DATETIME ya da TIMESTAMP tipinde bir tablo verisi çektiniz. Ve bu veriyi Unix Timestamp şekline sokmak istiyorsunuz. Bunun için Php'nin strtotime fonksiyonunu kullanabiliriz pekala. Farzedelim ki bu fonksiyonu smarty template dosyası içinde kullanmanız gerekti. Bunun için tek yapmanız gereken smarty'nin register_modifier yordamını php dosyanınızın içinde kullanmak.

//Php dosyası
$smarty->assign('datetime' , "2007-09-30 13:04:49");
$smarty->register_modifier('s2t', 'strtotime');
$smarty->display('template.tpl');

//template.tpl
{$datetime|s2t} {* Buranin ciktisi 1191146689 seklinde olacak *}


Bu kadar...