SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 249 visiteurs en ce moment

Accueil > Squelettes > Tutoriels pour squelettes > Comment utiliser un tableau (array) dans un squelette ?

Comment utiliser un tableau (array) dans un squelette ?

16 mars 2009 – par cy_altern, Gilles Vincent – commentaires

Toutes les versions de cet article : [English] [français]

3 votes

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.

Voir la doc officielle de #ARRAY sur spip.net

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

  1. #SET{modos,#ARRAY}
  2. <BOUCLE_modo_art(AUTEURS){id_article}>
  3. #SET{modos,#GET{modos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#ID_AUTEUR}}}
  4. </BOUCLE_modo_art>
  5.  
  6. <BOUCLE_art_rub(ARTICLES){id_article}>
  7. <BOUCLE_rub_admin(AUTEURS_RUBRIQUES){id_auteur !IN
  8. #GET{modos}}{id_rubrique=#ID_RUBRIQUE}>
  9. <BOUCLE_aut_admin(AUTEURS){id_auteur}>
  10.  
  11. #SET{modos,#GET{modos}|array_merge{#ARRAY{#COMPTEUR_BOUCLE,#_aut_admin:ID_AUTEUR}}}
  12. </BOUCLE_aut_admin>
  13. </BOUCLE_rub_admin>
  14. </BOUCLE_art_rub>

Télécharger

  1. Création d’un tableau vide.
  2. 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’.
  3. 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

P.-S.

Voir la doc officielle de #ARRAY sur spip.net

L’auteur original :
Gilles Vincent ( Gilles Vincent )

Dernière modification de cette page le 5 avril 2010

Retour en haut de la page
Chargement en cours...

Ça discute par ici

  • Serveur HTTP abstrait

    25 novembre 2013 – commentaires

    Un plugin-outil pour aider les développeurs à implémenter des API orientées REST, basées sur les méthodes HTTP (get, post, put, delete). Ce plugin a pour but premier de normaliser des URL que l’on pourra appeler pour manipuler les données du site. À (...)

  • Agenda Fullcalendar facile

    29 octobre 2016 – 33 commentaires

    Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda. Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute. La présente (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 93 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 804 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Abonnements

    31 janvier 2015 – 18 commentaires

    Gérer des abonnements à des offres, et uniquement cela. Ce plugin a pour but de regrouper tout ce qui est commun aux différents types d’abonnements possibles (à des zones restreintes, à des contenus précis, à une version papier pourquoi pas (...)

Ça spipe par là