SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs On SPIP-Zone, 272 visitors now

Home > Templates > Tutoriels pour squelettes > How to use an array in a template ?

How to use an array in a template ?

25 May 2008 – by Gilles Vincent, JLuc

All the versions of this article: [English] [français]

Arrays are really usefull when you have to manipulate the same
elements several times.

They have been introduced with the version 1.92 :
#ARRAY{key1,value1,key2,value2...} allows the creation of a variable length table (useful for constructing a table for a #SET and/or for use with a dynamic “IN” criterion )"

This tag allows operations with arrays.

Arrays are really usefull when you have to manipulate the same
elements several times.

They have been introduced with the version 1.92 :
#ARRAY{key1,value1,key2,value2...} allows the creation of a variable
length table (useful for constructing a table for a #SET and/or for
use with a dynamic “IN” criterion )"

This tag allows you to do a lot of operations with the arrays.

Example

Here is an example taken from the plugin 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>
  1. An empty table is created
  2. #ARRAY{#COMPTEUR_BOUCLE,#ID_AUTEUR} creates an array containing the author’s id at an index that isn’t used yet. The standard PHP function array_merge() finally does it’s job :
    this value is now stored on the last index of the array ’modos’.
  3. Another loop completes this array with the other authors of
    articles that are in the same section.

Note that the PHP function is used as a filter : it’s possible because
it’s first argument is the array to manipulate.

Of course all this can be done with PHP code inside the template. The
advantage of using the tag #ARRAY is that your template is better
managed by the cache.

Hope it helps,

P.S.

L’auteur :
Gilles Vincent ( http://my.opera.com/tech-nova/blog )

updated on 25 June 2011

Back to top

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Add a document

Back to top

Here they're talking

  • (fr) Réservation d’événements

    16 mars 2015 – 242 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • (fr) Hébergeurs payants

    24 janvier 2009 – 31 commentaires

    Cet article en encore à réorganiser / scinder en deux selon le type (mutualisé ou pro). À priori, SPIP fonctionnera sur tout hébergeur payant traditionnel (qui propose PHP et MySQL). Merci de ne pas mettre des remarques du genre « l’hébergeur truc (...)

  • (fr) Passer un site SPIP sous https://

    23 février – commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • (fr) Moulinette

    17 juillet 2015 – 35 commentaires

    Un squelette qui monte et qui descend ! Moulinette est un squelette basé sur le thème Grayscale (documentation) pour Bootstrap 3. Le type de site attendu est un site en une seule page : une rubrique avec quelques articles, des titres courts, des (...)

  • (fr) CleverMail

    20 janvier 2010 – 632 commentaires

    CleverMail est un plugin permettant d’envoyer des lettres d’informations à des abonnés depuis SPIP. Issu au départ d’un développement libre complètement indépendant de SPIP, il a connu une première version pour SPIP 1.9 avant d’être complètement réécris (...)