- Pour
#SET{tablo, #ARRAY{0,a,1,b,2,c,3,d}}
,
[(#GET{tablo}|foreach)]`
retourne :
- 0=> a
- 1=> b
- 2=> c
- 3=> d
- Pour
&tab[]=aa&tab[]=bb&tab[]=cc&tab[]=dd
passé dans l’URL,
[(#ENV{tab}|foreach)]
retourne :
- 0=> aa
- 1=> bb
- 2=> cc
- 3=> dd
- Si la balise à laquelle est appliquée le filtre |foreach
est un tableau linéarisé (voir les fonctions PHP), il est indispensable de lui appliquer le filtre |unserialize
après l’avoir étoilée préalablement :
par exemple : [(#ENV*|unserialize|foreach)]
.
- On peut forcer l’utilisation d’un modèle autre que foreach.html en appelant : [(#GET{tablo}|foreach{mon_modele})]
où mon_modele.html est le modèle personnalisé à utiliser et que l’on aura pris soin de placer dans squelettes/modeles/
.
- Exemple : afficher la liste des noms des plugins actifs utilisés sur le site
Le fichier de modèle modeles/liste_plug.html
contiendra :
[<li>(#ENV{valeur}|strtolower)</li>]
et sera appelé par :
[<ul>(#PLUGIN*|unserialize|foreach{liste_plug})</ul>]
Remplacement par la boucle DATA
Le filtre foreach
étant déprécié à partir de SPIP 4.0, il est conseillé de le remplacer par d’autre formes d’écriture et notamment avec la boucle DATA.
Ce qui s’écrivait
[(#LISTE{a,b,c,d}|foreach)]
peut s’écrire :
<BOUCLE_liste(DATA){source tableau, #LISTE{a,b,c,d}}>
- #CLE => #VALEUR <br />
</BOUCLE_liste>