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 (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().
Ejemplo 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); } ?>
|
|
Ejemplo 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; } ?>
|
|