Name
register_function
void register_function(string name,
mixed impl,
bool cacheable,
mixed cache_attrs);
Используется для динамической регистрации плагинов функций шаблона. Передается наименование функции шаблона и имя функции, реализующей ее.
Функция обратного вызова PHP impl
может быть
(a) строка, содержащая имя функции, или (b) массив вида
array(&$object, $method)
, где
&$object
является ссылкой на
объект, а $method
является строкой,
содержащей имя метода, или (c) массив в форме
array($class, $method)
, где
$class
является именем класса, а
$method
является методом этого
класса.
cacheable
и cache_attrs
в большинстве случаев могут быть опущены. Смотрите Управление кэшированием результатов работы плагинов
для получения информации об их правильном использовании.
Пример 13.22. register_function
$smarty->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()); } } // теперь вы можете использовать ее в Smarty чтобы вывести текущую дату: {date_now} // или {date_now format="%Y/%m/%d"} чтобы задать формат. ?>