SPIP-Contrib

SPIP-Contrib

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

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

  • ciag : plugin « Groupes d’auteurs »

    30 novembre 2011 – 16 commentaires

    Ce plugin facilite l’affectation des auteurs aux rubriques, via des groupes d’auteurs. Il offre également des vues globales des affectations de rubriques aux auteurs. Les objectifs de ce plugin Le premier objectif est de faciliter (...)

  • Bazar

    8 octobre 2015 – 21 commentaires

    Un squelette pour étaler son bazar sur l’accueil. Bazar est un squelette HTML5/CSS3 issu du squelette neo-dist (http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/neo-dist) : c’est un choix fait au départ, qui à l’avantage d’intégrer (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 70 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 (...)

  • Dublin Core

    21 septembre 2010 – 28 commentaires

    Un petit squelette pour l’insertion de méta-données Dublin Core dans la partie head des articles. Le Dublin Core « Le Dublin Core est un schéma de métadonnées générique qui permet de décrire des ressources numériques ou physiques et d’établir des (...)

  • Le plugin ZotSpip

    28 mai 2012 – 136 commentaires

    Synchronise Spip avec une bibliothèque (personnelle ou partagée) de références bibliographiques Zotero. Utilisez Zotero pour gérer / importer / rédiger vos références bibliographiques, puis incorporez vos références bibliographiques dans votre Spip avec (...)