SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 254 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

  • Tutoriel : créer une carte interactive avec GIS4

    19 octobre 2013 – 26 commentaires

    Utilisation de quelques fonctions javascript pour créer des interactions avec une carte GIS. L’objet de ce tutoriel est de produire une carte interactive comme celle-ci Effacer tous les points d’une carte d’une carte La fonction javascript (...)

  • Agenda 2.0

    3 novembre 2008 – 1067 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • Menus

    18 août 2009 – 957 commentaires

    Créez enfin vos menus facilement !

  • cisf : plugin « saisie facile » pour SPIP 3

    27 mai 2015 – 125 commentaires

    Cette nouvelle version est compatible avec SPIP 3.0, SPIP 3.1 (tout en restant compatible avec SPIP 2.1). Ce plugin « saisie facile » permet de créer ou de modifier facilement un article directement depuis le site public. Ce plugin : Diminue (...)

  • Partageur

    29 janvier 2011 – 45 commentaires

    Permet de recopier facilement des articles d’un site SPIP partageur à l’autre. Ce plugin est encore en version beta. Les retours et critiques sont les bienvenus ... Présentation Ce plugin est né d’un besoin de partager des articles entre sites (...)