Table of Contents
Les modificateurs de variables peuvent être appliqués aux
variables,
fonctions utilisateurs
ou chaînes de caractères. Pour appliquer un modificateur
de variable, tappez une valeure suivie de |
(pipe) et du nom du modificateur. Un modificateur de variable
est succeptible d'accepter des paramètres additionnels, qui en affectent
le comportement. Ces paramètres suivent le nom du modificateur et
sont séparés par un : (deux points).
Toutes les fonctions PHP peuvent être utilisées en tant que modifieurs
implicitement (plus d'informations ci-dessous) et les modificateurs peuvent
être combinés.
Example 5.1. Exemple de modificateur
{* applique un modificateur à une variable *}
{$titre|upper}
{* modificateur avec paramètres *}
{$titre|truncate:40:'...'}
{* applique un modificateur à un paramètre de fonction *}
{html_table loop=$mavariable|upper}
{* avec paramètres *}
{html_table loop=$mavariable|truncate:40:'...'}
{* applique un modificateur à une chaine de caractères *}
{'foobar'|upper}
{* utilise date_format pour mettre en forme la date *}
{$smarty.now|date_format:"%d/%m/%Y"}
{* applique un modificateur à une fonction utilisateur *}
{mailto|upper address='smarty@example.com'}
{* utilisation de la fonction PHP str_repeat *}
{'='|str_repeat:80}
{* Compteur PHP *}
{$myArray|@count}
{* mélange aléatoire des IP du serveur grâce à PHP *}
{$smarty.server.SERVER_ADDR|shuffle}
(* ceci va mettre en majuscule et tronque le tableau *}
<select name="name_id">
{html_options output=$myArray|upper|truncate:20}
</select>
-
Si vous appliquez un modificateur de variable à un tableau plutôt qu'à une variable simple, le modificateur sera appliqué à chaque valeur du tableau. Si vous souhaitez que le modificateur travaille réellement avec le tableau en tant que tel, vous devez préfixer le nom du modificateur avec un symbole
@Exemple
{$articleTitle|@count}- affichera le nombre d'éléments dans le tableau$articleTitleen utilisant la fonction PHPcount()comme modificateur. Les modificateurs sont chargés automatiquement depuis votre répertoire de plugin
$plugins_dirou peuvent être enregistrés explicitement avecregister_modifier(); ceci est utile pour partager une fonction dans un scirpt PHP et les templates Smarty.-
Toutes les fonction PHP peuvent être utilisées comme modificateur, sans autre déclaration, tel que dans l'exemple ci-dessus. Cepdendant, l'utilisation de fonctions PHP comme modificateurs contient deux petits pièges à éviter :
Le premier - quelques fois, l'ordre des paramètres de la fonction n'est pas celui attendu. Le formattage de
$fooavec{"%2.f"|sprintf:$foo}fonctionne actuellement, mais n'est pas aussi intuitif que{$foo|string_format:"%2.f"}, ce qui est fournit par Smarty.Le deuxième - Si
$securityest activé, toutes les fonctions PHP qui devront être utilisées comme modificateurs, doivent être déclarées dans l'élémentMODIFIER_FUNCSdu tableau$security_settings.
Voir aussi
register_modifier(),
les modificateurs combinés.
et étendre Smarty avec des plugins.
Met la première lettre de chaque mot d'une variable en majuscule.
C'est l'équivalent de la fonction PHP
ucfirst().
| Position du paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| 1 | booléen | No | FALSE |
Détermine si oui ou non les mots contenant des chiffres doivent être mis en majuscule |
Example 5.2. Mise en majuscule
<?php
$smarty->assign('titreArticle', 'Le nouveau php5 est vraiment performant !');
?>
Où le template est :
{$titreArticle}
{$titreArticle|capitalize}
{$titreArticle|capitalize:true}
Affichera :
Le nouveau php5 est vraiment performant ! Le Nouveau php5 Est Vraiment Performant ! Le Nouveau Php5 Est Vraiment Performant !
