What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
                 
                 
              
For sponsorship, advertising, news or other inquiries, contact us at:
register_function() — dynamically register template function plugins
void register_function(string name,
                       mixed impl,
                       bool cacheable,
                       mixed cache_attrs);Pass in the template function name, followed by the PHP function name that implements it.
   The php-function callback function 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 method-name
       
       An array of the form
       array($class, $method) with
       $class being the class name and
       $method being a method of the class.
       
   cacheable and cache_attrs can be
   omitted in most cases. See controlling cacheability of plugins output
   on how to use them properly.
  
Example 13.23. register_function()
<?php
$smarty->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
{date_now}
{* or to format differently *}
{date_now format="%Y/%m/%d"}
See also
unregister_function()
and the
plugin functions section.