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


search for in the  


Pengubah

Pengubah adalah fungsi kecil yang diterapkan ke variabel dalam template sebelum ia ditampilkan atau digunakan dalam beberapa konteks lain. Pengubah dapat dirangkai bersama.

mixed smarty_modifier_name (mixed $value, [mixed $param1, ...])

Parameter pertama pada plugin pengubah adalah nilai di mana pengubah beroperasi. Parameter sisanya adalah opsional, tergantung pada jenis operasi apa yang dilakukan.

Pengubah harus mengembalikan hasil dari prosesnya.

Teladan 16-3. Plugin pengubah sederhana

Plugin ini pada dasarnya alias dari salah satu fungsi built-in PHP. Ini tidak mempunyai parameter tambahan.

<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     modifier.capitalize.php
 * Tipe:     pengubah
 * Nama:     capitalize
 * Kegunaan: membesarkan kata dalam string
 * -------------------------------------------------------------
 */
function smarty_modifier_capitalize($string)
{
    return 
ucwords($string);
}
?>

Teladan 16-4. Plugin pengubah lebih kompleks

<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     modifier.truncate.php
 * Tipe:     pengubah
 * Nama:     truncate
 * Kegunaan: Potong string ke panjang tertentu bila perlu,
 *           secara opsional memisahkan di tengah kata, dan 
 *           menambahkan string $etc.
 * -------------------------------------------------------------
 */
function smarty_modifier_truncate($string$length 80$etc '...',
                                  
$break_words false)
{
    if (
$length == 0)
        return 
'';

    if (
strlen($string) > $length) {
        
$length -= strlen($etc);
        
$fragment substr($string0$length+1);
        if (
$break_words)
            
$fragment substr($fragment0, -1);
        else
            
$fragment preg_replace('/\s+(\S+)?$/'''$fragment);
        return 
$fragment.$etc;
    } else
        return 
$string;
}
?>

Lihat juga register_modifier(), unregister_modifier().




 

credits 

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

All rights reserved.