L’etiqueta #FOREACH permet «boucler» en un contingut equivalent a una taula calculada a dins de l’esquelet aplicant per cadascun dels seus element un model SPIP.
#FOREACH{balise, modele}
Exemples
- A dins de qualsevol esquelet, l’ús de #FOREACH{env} visualitzarà totes les variables de l’etiqueta #ENV de la següent manera:
- page=> test_boucle
- date=> 2009-12-22 22:44:27
- date_default=> 1
- date_redac=> 2009-12-22 22:44:27
- date_redac_default=> 1
Dit d’una altra manera, per cada element de la taula associativa PHP que representa l’etiqueta #ENV, #FOREACH aplicarà el model foreach.html (cf. més avall).
- Podem voler mostrar el contingut d’una altre etiqueta. #CONFIG per exemple. Per això, passarem el nom de l’etiqueta com a primer paràmetre:
#FOREACH{config} mostrarà, per tant, aproximadament:
- charset_sql_base=> utf8
- charset_collation_sql_base=> utf8_general_ci
- charset_sql_connexion=> utf8
- version_installee=> 14558
- nouvelle_install=> 1
- plugin=>
a:3:{s:3:"CFG";a:4:{s:3:"nom";s:90:"<multi> [fr]cfg: moteur de configuration [de]cfg: Konfigurationsmotor </multi>";s:4:"etat";s:6:"stable";s:3:"dir";s:8:"auto/cfg";s:7:"version";s:6:"1.14.1";}} - derniere_modif_rubrique=> 1260746188
- ...=> ...
I per tota etiqueta SPIP que representi una taula PHP tindrem un resultat similar (veure #ARRAY).
Crear un model dedicat
El model foreach.html és aquell que s’aplica per defecte. El trobem a dins de squelettes-dist/modeles/. És possible modificar-lo, però també podem crear un model dedicat a una etiqueta i situar-lo en la seva pròpia carpeta squelettes/modeles/.
El model foreach_balise.html correspon a #FOREACH{balise}.
També podem voler crear models generals i utilitzar-los per tal o qual etiqueta.
Per exemple, per llistes no enumerades un model anomenat squelettes/modeles/foreach_ul_li.html, que contindria: <li><a href="#ENV{valeur}">#ENV{cle}</a></li> seria cridat per [<ul>(#FOREACH{ENV, foreach_ul_li})</ul>] i visualitzaria (el codi font HTML):
<ul>
<li><a href="test_boucle">page</a></li>
<li><a href="2009-12-22 22:54:40">date</a></li>
<li><a href="1">date_default</a></li>
<li><a href="2009-12-22 22:54:40">date_redac</a></li>
<li><a href="1">date_redac_default</a></li>
</ul>Més valors
Finalment, en els casos més complexes, podem passar més valors al model respectant l’estructura de la taula següent per l’etiqueta concebuda per vosaltres:
i proporcionant un model adaptat:
#ENV{val1}, #ENV{val2}, #ENV{val3} i #ENV{val4}