Template Prefilter sind Filter, welche auf das Template vor dessen Kompilierung angewendet werden. Dies ist nützlich, um zum Beispiel Kommentare zu entfernen oder um den Inhalt des Templates zu analysieren. Prefilter können auf verschiedene Arten geladen werden. Man kann sie registrieren, aus dem Plugin-Verzeichnis mit load_filter() laden oder $autoload_filters verwenden. Smarty übergibt der Funktion als ersten Parameter den Template-Quellcode und erwartet als Rückgabewert den bearbeiteten Quellcode.
Example 15.2. Template Prefilter verwenden
Dieser Prefiler entfernt alle Kommentare aus dem Template-Quelltext
<?php // fügen Sie folgende Zeilen in Ihre Applikation ein function remove_dw_comments($tpl_source, &$smarty) { return preg_replace("/<!--#.*-->/U",'',$tpl_source); } // registrieren Sie den Prefilter $smarty->register_prefilter("remove_dw_comments"); $smarty->display("index.tpl"); ?> {* Smarty Template 'index.tpl' *} <!--# diese Zeile wird vom Prefilter entfernt-->
Sie auch register_prefilter(), Postfilter und load_filter()