SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 114 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

Vos commentaires

  • Le 27 août 2009 à 15:34, par Valéry En réponse à : Comment utiliser un tableau (array) dans un squelette ?

    Bonjour Gilles,

    Comment faire pour afficher toutes les valeurs d’un tableau dans la page ? Histoire de vérifier ce que l’on est en train de faire.

    En fait j’essaye de lister tous les contenus publiés (articles, brèves, documents...) par date (pour construire un flux d’activités). Je crois que ça devrait être possible avec les #ARRAY, en y insérant des valeurs pour chaque boucle, mais pour l’instant je n’arrive pas à faire quoi que ce soit. La doc semble s’adresser plutôt à des développeurs qui savent de quoi on parle :-)

    Qu’en penses-tu ?

    Valéry

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Alertes

    31 mars 2014 – 14 commentaires

    Ce plugin a pour but de permettre à vos visiteurs identifiés de recevoir des alertes email lors de la publication d’un article, en fonction des abonnements qu’ils ont choisit (à certains secteurs, à certaines rubriques, à certains mots-clés ou à (...)

  • cibloc : mettre en forme le texte d’articles avec des blocs

    21 septembre – 31 commentaires

    Le plugin CIBLOC permet de mettre en forme le texte d’articles avec des blocs. Il offre des blocs, des colonnes, des icônes et des boutons. Les objectifs de ce plugin Le plugin CIBLOC offre des blocs, des colonnes, des icônes et des boutons : (...)

  • Bouquinerie V2

    6 octobre 2017 – 25 commentaires

    Voici la version pour SPIP 3.x du plugin Bouquinerie. Cette nouvelle version permet de gérer des livres et le ou les auteurs associés. Elle n’est pas compatible avec la précédente version. Cet article est une présentation générale et un guide pour (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1411 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • GIS 4

    11 août 2012 – 1527 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)