smarty template plugin yazmak

smarty template de tpl içinde çalışırken kendi ozel pluginimize yazabiliriz mesela smarty içinde bulunan truncate gibi
{‘Two Sisters Reunite after Eighteen Years at Checkout Counter.’|truncate:30}
bizde türkçe tarih tipini veritabanındaki mysql formatlı tipe ceviren bir plugin yazalım
burada dikkate edilecek nokta fonksiyonun önünde smarty_modifier_ ekinin olmasıdır



/*
* türkçe tarih tipini veritabnındaki mysql formatlı tipe cevirir
* @example tr2sql_DateTime("25-04-2014 15:40:15"); sonuc 2014-04-25 15:40:15
* @param date $datetime
* @param string $ayrac
* @return string
*/
function smarty_modifier_tr2sql_DateTime($datetime, $ayrac = "-") {
$tarih = explode ( $ayrac, $datetime );
$tarih2 = explode ( " ", $tarih [2] ); // 17 02:13:53
return $tarih2 [0] . $ayrac . $tarih [1] . $ayrac . $tarih [0] . ' ' . $tarih2 [1];
}


/*

index.tpl kodu

{’25-04-2014 15:40:15’|tr2sql_DateTime:’-’}

kaynaklar :
http://www.smarty.net/docs/en/plugins.modifiers.tpl
http://www.smarty.net/docsv2/en/language.modifier.truncate
http://www.dreamincode.net/forums/topic/275526-adding-your-own-functionality-to-smarty-w-plugins/
http://viralpatel.net/blogs/smarty-templates-creating-smarty-custom-functions/