smarty template engine
Tuesday, January 06, 2009  
download | documentation | faq | forum | mailing lists | changelog | contribs 


search for in the  


Filter Output

Ketika template dipanggil via display() atau fetch(), outputnya bisa dikirimkan melalui satu atau lebih filter output. Ini berbeda dari postfilters karena postfilters beroperasi pada template terkompilasi sebelum disimpan ke disk, sedangkan filter output beroperasi pada output template ketika ia dijalankan.

Filter output bisa teregistrasi atau diambil dari direktori plugins dengan menggunakan metode load_filter() atau dengan menyetel variabel $autoload_filters. Smarty akan mengoper output template sebagai argumen pertama, dan mengharapkan fungsi untuk mengembalikan hasil proses.

Teladan 15-4. Menggunakan template outputfilter

<?php
// simpan ini dalam aplikasi anda
function protect_email($tpl_output, &$smarty)
{
    
$tpl_output =
       
preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
                    
'$1%40$2'$tpl_output);
    return 
$tpl_output;
}

// daftarkan outputfilter
$smarty->register_outputfilter('protect_email');
$smarty->display('index.tpl');

// sekarang setiap ada alamat email dalam output template akan mempunyai
// perlindungan sederhana terhadap spambots
?>

Lihat juga register_outpurfilter(), load_filter(), $autoload_filters, postfilters dan $plugins_dir.




 

credits 

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

All rights reserved.