Les boucles {foreach} sont une alternative aux boucles section. Les boucles {foreach} sont utilisées pour parcourir des tableaux associatifs simples. La syntaxe des boucles {foreach} est bien plus simple que celle des boucles {section}, mais en contrepartie, elles ne peuvent être utilisées que pour des tableaux associatifs simples. La balise {foreach} doit toujours être accompagnée de la balise {/foreach}. Les paramètres requis sont from et item. Le nom des boucles {foreach} doit être composés exclusivement de lettres, chiffres et underscores, selon vos préférences. Les boucles {foreach} peuvent être imbriquées. La variable from (généralement le tableau à parcourir) détermine le nombre de fois que {foreach} sera exécuté. {foreachelse} est exécuté si aucune valeur n'est présente dans la variable donnée à l'attribut from.
| Nom attribut | Type | Requis | Defaut | Description |
|---|---|---|---|---|
| from | tableau | oui | n/a | Le tableau à parcourir |
| item | chaîne de caractère | Oui | n/a | Le nom de la variable "élément courant" |
| key | chaîne de caractère | Non | n/a | Le nom de la variable représentant la clef courante. |
| name | chaîne de caractère | Non | n/a | Le nom de la boucle foreach, qui nous permettra d'accéder à ses propriétés. |
Exemple 7-7. {foreach} - Exemple avec une base de données (eg PEAR ou ADODB)
|
Les boucles {foreach} ont également leurs propres variables qui gèrent les propriétés de {foreach}. Elles sont indiquées par : {$smarty.foreach.foreachname.varname} où foreachname est le nom spécifié par l'attribut name de foreach.
Voir {section} pour des exemples avec les proriétés ci-dessus.
iteration est utilisé pour afficher l'itération de la boucle courante. iteration commence toujours par 1 et est incrémenté à chaque itération.
show est utilisé en tant que paramètre de foreach. show est un booléen (true ou false). S'il vaut false, foreach ne sera pas affiché. Si foreachelse est présent, il sera affiché alternativement.
total est utilisé pour afficher le nombre d'itérations bouclées par ce foreach. Il peut être utilisé dans ou après le foreach.
Voir aussi {section} et $smarty.foreach.
| Précédent | Sommaire | Suivant |
| {config_load} | Niveau supérieur | {if},{elseif},{else} |