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$articleTitle
en utilisant la fonction PHPcount()
comme modificateur. Les modificateurs sont chargés automatiquement depuis votre répertoire de plugin
$plugins_dir
ou 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
$foo
avec{"%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
$security
est activé, toutes les fonctions PHP qui devront être utilisées comme modificateurs, doivent être déclarées dans l'élémentMODIFIER_FUNCS
du 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 !