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