Modifiers
Modificadores são funções que são aplicadas a uma variável no template antes dela ser mostrada
ou usada em algum outro contexto.
Modificadores podem ser encadeados juntos.
mixed smarty_modifier_namemixed $value[mixed $param1, ...]
O primeiro parâmetro para o plugin midificador é o valor em que o modificador é suposto
operar. O resto dos parâmetros podem ser opcionais,
dependendo de qual tipo de operação é para
ser executada.
O modificador deve retornar o resultado de seu processamento.
Veja também:
register_modifier(),
unregister_modifier().
Plugin modificador simples
Este plugin basiamente é um alias de uma
função do PHP. Ele não tem nenhum 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);
}
?>Plugin modificador mais complexo
<?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;
}
?>