Les tableaux PHP (array) sont vraiment utiles lorsque vous avez à manipuler les mêmes éléments plusieurs fois.
Ils ont étés introduits avec la version 1.9.2 : #ARRAY{clé1,valeur1,clé2,valeur2...}
pour autoriser la création d’un tableau (indexé) de taille variable par exemple pour utiliser dans un #SET ou un critère IN dynamique.
Cette balise vous autorise à faire de nombreuses opération sur les tableaux.
Exemple
Cet exemple est extrait de spipbb
#SET{modos,#ARRAY}
<BOUCLE_modo_art(AUTEURS){id_article}>
#SET{modos,#GET{modos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_AUTEUR}}}
</BOUCLE_modo_art>
<BOUCLE_art_rub(ARTICLES){id_article}>
<BOUCLE_rub_admin(AUTEURS_RUBRIQUES){id_auteur !IN
#GET{modos}}{id_rubrique=#ID_RUBRIQUE}>
<BOUCLE_aut_admin(AUTEURS){id_auteur}>
#SET{modos,#GET{modos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#_aut_admin:ID_AUTEUR}}}
</BOUCLE_aut_admin>
</BOUCLE_rub_admin>
</BOUCLE_art_rub>
- Création d’un tableau vide.
- dans la boucle _modo_art
#ARRAY{#COMPTEUR_BOUCLE,#ID_AUTEUR}
crée un array qui contient un élément de valeur id_auteur indexé par la valeur de #COMPTEUR_BOUCLE (donc pas encore utilisé). La fonction standard array_merge() de PHP réalise ensuite le boulot : cette valeur est alors stockée comme dernier élément du tableau ’modos’. - Un autre ensemble de boucles complète ce tableau avec les auteurs d’articles de la même rubrique.
Notez que la fonction PHP est utilisée comme un filtre : ce n’est possible que parce que son premier argument est l’array à manipuler.
Bien sûr tout ceci pourrait être fait avec du PHP directement dans le squelette. L’avantage d’utiliser la balise #ARRAY est que le résultat est géré par le cache de SPIP.
Remarque : en SPIP 2.0, le plugin spip-bonux permet de raccourcir considérablement la syntaxe d’intégration des éléments dans l’#ARRAY grâce aux balises #SET_PUSH et #SET_MERGE
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |