|foreach

Le filtre |foreach utilise le modèle squelettes-dist/modeles/foreach.html pour afficher de façon présentable les couples clef=> valeur du tableau auquel il est appliqué.

  • Apparu en : SPIP 2.0
  • Dépréciés depuis : SPIP 4.0

-  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})]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>

Voir la documentation sur les itérateurs

Auteur denisb Publié le : Mis à jour : 30/11/24

Traductions : català, English, français, Nederlands