SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Descarregar

#FOREACH

Abril de 2010

Totes les versions d’aquest article:


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}

Descarregar l’esquelet d’aquesta pàgina Lloc Web fet amb l’SPIP | Espace de traduction | Espai privat