Get Smarty

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Check reviews of PHP Web Hosting, compatible with Smarty Templates

Prefilter

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()

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 17 plus 16? (Are you human?)

Sponsors [info]

Cheap Website Hosting @hostdone.com
Cheap Hosting @HostsVault
email marketing @ActiveCampaign
broadband deals @BroadbandGenie
Best UK Web Hosting @webhost.uk.net
Reliable UK and US Web Hosting @rshosting.com
Cheap US and UK Web Hosting @infrenion.com
I.T Certification Exams @pass-guaranteed.com
Certification Practice Tests @firsttrycertify.com
Certification Practice Exam Questions @ace-it-certifications.com
Broadband Speed Test @broadbandspeed.co.uk
bulk email software @americaint.com