register_function() dynamically register template function plugins Description voidregister_function stringname mixedimpl boolcacheable mixedcache_attrs Pass in the template function name, followed by the PHP function name that implements it. The php-function callback impl can be either a string containing the function name an array of the form array(&$object, $method) with &$object being a reference to an object and $method being a string containing the mehod-name an array of the form array(&$class, $method) with $class being a classname and $method being a class method of that class. cacheable and cache_attrs can be omitted in most cases. See Controlling Cacheability of Plugins' Output on how to use them properly. register_function() register_function('date_now', 'print_current_date'); function print_current_date($params, &$smarty) { if(empty($params['format'])) { $format = "%b %e, %Y"; } else { $format = $params['format']; return strftime($format,time()); } } ?> ]]> And in the template See also unregister_function() and Plugin functions .