Префильтры

Префильтры шаблона - это функции PHP, которые обрабатывают шаблон перед его компиляцией. Это удобно для удаления лишних комментариев и прочих ненужных после компиляции данных.

Префильтры могут быть или заргистрированы или загружены из директории плагинов с помощью функции load_filter() или с помощью установки переменной $autoload_filters.

Smarty передаёт фильтру исходный код шаблона в качестве первого аргумента и предполагает, что функция вернёт результат своей работы.

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

Этот пример удалит все комментарии из исходного текста шаблона.


<?php
// код в вашем скрипте
function remove_dw_comments($tpl_source, &$smarty)
{
    return preg_replace('/<!--#.*-->/U','',$tpl_source);
}

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

  

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