register_function void register_function string name mixed impl bool cacheable array or null cache_attrs Use this to dynamically register template function plugins. Pass in the template function name, followed by the PHP function name that implements it. The php-function callback impl can be either (a) a string containing the function name or (b) 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 or (c) 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) { if(empty($params['format'])) $format = "%b %e, %Y"; else $format = $params['format']; return strftime($format,time()); } // now you can use this in Smarty to print the current date: {date_now} // or, {date_now format="%Y/%m/%d"} to format it. ?> ]]>