I prefiltri sui template sono funzioni PHP che vengono eseguite sui template prima della compilazione. Sono utili per pre-processare i template allo scopo di rimuovere commenti non desiderati, tenere d'occhio ciò che i progettisti mettono nei template, ecc. I prefiltri possono essere registrati oppure caricati dalla directory plugins con la funzione load_filter() o impostando la variabile $autoload_filters. Smarty passerà il codice sorgente del template come primo parametro, e si aspetterà che la funzione restituisca il codice sorgente risultante.
Example 15.2. uso di un prefiltro
<?php // mettiamo questo nell'applicazione function remove_dw_comments($tpl_source, &$smarty) { return preg_replace("/<!--#.*-->/U","",$tpl_source); } // registriamo il prefiltro $smarty->register_prefilter("remove_dw_comments"); $smarty->display("index.tpl"); ?>
Questo rimuoverà tutti i commenti dal sorgente del template.