What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
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
@
{$articleTitle|@count}
- affichera le nombre
d'éléments dans le tableau $articleTitle
en utilisant
la fonction PHP count()
comme modificateur.
Les modificateurs sont chargés automatiquement depuis votre répertoire
de plugin $plugins_dir
ou peuvent être enregistrés explicitement avec
register_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ément
MODIFIER_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 !