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
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
в большинстве случаев могут быть опущены. Смотрите Управление кэшированием результатов работы плагинов
для получения информации об их правильном использовании.
Example 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"} чтобы задать формат.
?>