smarty template engine
Thursday, July 29, 2010  
download | documentation | faq | forum | mailing lists | changelog | contribs 


Translate this page to:
search for in the


register_function()

register_function() -- dynamically register template function plugins

Description

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-1. 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.



[advertise]


credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.