Get Smarty

Donate

Paypal

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:

Sites Using Smarty

Advertisement

Modificadores

Los modificadores son funciones que son aplicadas a una variable en el template antes de ser mostrada o usada en algun otro contexto. Los modificadores pueden ser encadenados conjuntamente.

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

El primer parámetro en el modificador de plugin es el valor sobre el cual el modificador es precisa para funcionar. El resto de los parámetros pueden ser opcionales, dependiendo de cual tipo de operación va a ser ejecutada.

El modificador debe retornar el resultado de su procesamiento.

Vea Tambien register_modifier(), unregister_modifier().

Example 16.3.  Plugin modificador simple

Este plugin básicamente es un alias de una función incorporada en PHP. Este no tiene ningun parámetro adicional.


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     modifier.capitalize.php
 * Type:     modifier
 * Name:     capitalize
 * Purpose:  capitalize words in the string
 * -------------------------------------------------------------
 */
function smarty_modifier_capitalize($string)
{
    return ucwords($string);
}
?>


Example 16.4. Plugin modificador mas complejo


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     modifier.truncate.php
 * Type:     modifier
 * Name:     truncate
 * Purpose:  Truncate a string to a certain length if necessary,
 *           optionally splitting in the middle of a word, and 
 *           appending the $etc string.
 * -------------------------------------------------------------
 */
function smarty_modifier_truncate($string, $length = 80, $etc = '...',
                                  $break_words = false)
{
    if ($length == 0)
        return '';

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

     

Comments
No comments for this page.

Advertisement