smarty template fonksiyon yazmak

smarty template de tpl içinde çalışırken kendi ozel fonksiyon yazabiliriz fakat kesin olmamakla birlikte bu fonksiyonda en faz bir arguman gönderebiliyoruz.

bizde türkçe tarih tipini veritabanındaki mysql formatlı tipe ceviren bir plugin yazalım
burada dikkate edilecek nokta fonksiyonun önünde smarty_function_ 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_function_tr2sql_DateTime( $params, &$smarty ) {

if (! isset ( $params ['tarih'] )) {
$smarty->trigger_error ( "hata var " );
return;
}
$ayrac = "-";
$datetime= $params ['tarih'];
$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


{tr2sql_DateTime tarih='25-04-2014 15:40:15'}

kaynaklar :

http://viralpatel.net/blogs/smarty-templates-creating-smarty-custom-functions/