SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs On SPIP-Zone, 75 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]

0 vote

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) Champs Extras 3

    16 janvier 2012 – 634 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • (fr) Éditorial (HTML5UP)

    27 novembre 2017 – 61 commentaires

    Squelette SPIP pour intégrer le modèle Editorial de HTML5UP https://html5up.net/editorial Configuration La page de configuration permet quelques réglages. On y défini la couleur principale du site, des informations de contact et le contenu de la (...)

  • (fr) Timeline Me

    18 janvier – 10 commentaires

    TimelineMe - ​http://mickaelr.github.io/jquery-timelineMe/ - est un plugin jquery qui permet d’afficher des informations sur une ligne de temps. Le présent plugin pour SPIP l’utilise et propose un modèle pour afficher les articles d’une rubrique de (...)

  • (fr) GIS 4

    11 août 2012 – 1479 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 (...)

  • (fr) Grappes 1.0

    23 novembre 2012 – 34 commentaires

    Présentation et nouveautés Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que (...)