smarty template engine
Thursday, November 20, 2008  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Prefilters/Postfilters

Plugin prefilter dan postfilter sangat mirip dalam konsep; di mana keduanya berbeda dalam eksekusi -- lebih tepatnya waktu eksekusinya.

string smarty_prefilter_name (string $source, object &$smarty)

Prefilters dipakai untuk memproses sumber template segera sebelum kompilasi. Parameter pertama ke fungsi prefilter adalah sumber template, kemungkinan diubah oleh beberapa prefilters lain. Plugin seharusnya mengembalikan sumber yang diubah. Catatan bahwa sumber ini tidak disimpan di mana pun, hanya dipakai untuk kompilasi.

string smarty_postfilter_name (string $compiled, object &$smarty)

Postfilters dipakai untuk memproses output terkompilasi dari template (kode PHP) segera setelah kompilasi dikerjakan sebelum template terkompilasi disimpan ke sistem file. Parameter pertama ke fungsi postfilter adalah kode template terkompilasi, kemungkinan diubah oleh postfilters lainnya. Plugin seharusnya mengembalikan versi yang diubah atas kode ini.

Teladan 16-7. plugin prefilter

<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     prefilter.pre01.php
 * Tipe:     prefilter
 * Nama:     pre01
 * Kegunaan: Mengubah tag html ke huruf kecil.
 * -------------------------------------------------------------
 */
 
function smarty_prefilter_pre01($source, &$smarty)
 {
     return 
preg_replace('!<(\w+)[^>]+>!e''strtolower("$1")'$source);
 }
?>

Teladan 16-8. plugin postfilter

<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     postfilter.post01.php
 * Tipe:     postfilter
 * Nama:     post01
 * Kegunaan: Kode output yang mendaftarkan semua var template saat
 *                     ini.
 * -------------------------------------------------------------
 */
 
function smarty_postfilter_post01($compiled, &$smarty)
 {
     
$compiled "<pre>\n<?php print_r(\$this->get_template_vars()); ?>\n</pre>" $compiled;
     return 
$compiled;
 }
?>

Lihat juga register_prefilter(), unregister_prefilter() register_postfilter(), unregister_postfilter().




 

credits 

Smarty Copyright © 2002-2008
New Digital Group, Inc.

All rights reserved.