I postfiltri sui template sono funzioni PHP che vengono eseguite sui template dopo la compilazione. I postfiltri possono essere registrati oppure caricati dalla directory plugins con la funzione load_filter() o impostando la variabile $autoload_filters. Smarty passerà il codice del template compilato come primo parametro, e si aspetterà che la funzione restituisca il template risultante.
Example 15.3. uso di un postfiltro
<?php // mettiamo questo nell'applicazione function add_header_comment($tpl_source, &$smarty) { return "<?php echo \"<!-- Created by Smarty! -->\n\"; ?>\n".$tpl_source; } // registriamo il postfiltro $smarty->register_postfilter("add_header_comment"); $smarty->display("index.tpl"); ?>
Questo farà sì che il template compilato index.tpl appaia così:
<!-- Created by Smarty! --> {* resto del template... *}