Modificateurs Les modificateurs sont des petites fonctions appliquées a une variable de template avant qu'elle ne soit affichée ou utilisée dans un autre contexte. Les modificateurs peuvent être chaenés entre eux. mixed smarty_modifier_name mixed $value [mixed $param1, ...] Le premier paramétre passé au modificateur est la valeur sur laquelle le modificateur est supposé opérer. Les autres paramétres peuvent être optionnels, dépendant de quel genre d'opération doit être effectué. Le modificateur doit retourner le résultat de son exécution. Regardez aussi register_modifier(), unregister_modifier(). plugin modificateur simple Ce plugin est un alias d'une fonction PHP. Il n'a aucun paramétre supplémentaires. <?php /* * Smarty plugin * ------------------------------------------------------------- * Fichier : modifier.capitalize.php * Type : modificateur * Name : capitalize * Rôle : met une majuscule aux mots d'une phrase * ------------------------------------------------------------- */ function smarty_modifier_capitalize($string) { return ucwords($string); } ?> un plugin modificateur un peu plus complexe <?php /* * Smarty plugin * ------------------------------------------------------------- * Fichier : modifier.truncate.php * Type : modificateur * Name : truncate * Rôle : Tronque une chaene a une certaine longueur si * nécessaire, la coupe optionnellement au milieu * d'un mot et ajoute la chaene $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($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; } ?>