Постфильтры

Постфильтры шаблона - это функции PHP, которые обрабатывают шаблон после его компиляции. Постфильтры могут быть или зарегистрированы или загружены из директории плагинов при помощи функции load_filter(), или с помощью установки переменной $autoload_filters. Smarty передаёт фильтру скомпилированный код шаблона в качестве первого аргумента и предполагает, что функция вернёт результат своей работы.

Example 15.3. использование постфильтра


<?php
// код в вашем скрипте
function add_header_comment($tpl_source, &$smarty)
{
    return "<?php echo \"<!-- Создано при помощи Smarty! -->;\n\"; ?>\n".$tpl_source;
}

// регистрация постфильтра
$smarty->register_postfilter('add_header_comment');
$smarty->display('index.tpl');
?>

  

Теперь скомпилированный шаблон Smarty index.tpl выглядит так:


<!-- Создано при помощи Smarty! -->
{* остальной код шаблона... *}

  

См. также register_postfilter(), префильтры и load_filter().