Prefilters

Os prefilters de Template são funções de PHP nas quais seus templates são rodados antes de serem compilados. Isto é bom para preprocessamento de seus templates para remover comentários indesejados, mantendo o olho no que as pessoas estão colocando nos seus templates, etc. Prefilters podem ser ou registrado ou carregado do diretório de plugins usando a função load_filter() ou pela configuração da variável $autoload_filters. O Smarty passará o código fonte do template como o primeiro argumeto, e espera a função retornar o código fonte do template resultante.

Exemplo 15-2. Usando um prefilter de template

<?php
// Ponha isto em sua aplicação function remove_dw_comments($tpl_source, &$smarty)
{
 return preg_replace("/<!--#.*-->/U","",$tpl_source);
}
// registrar o prefilter
$smarty->register_prefilter("remove_dw_comments");
$smarty->display("index.tpl");
?>
{* Smarty template index.tpl *}
<!--# esta linha será removida pelo prefilter -->