SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 263 visiteurs en ce moment

Accueil > Navigation > Tris hétérogénes > Boucles sans tables > Exemple d’utilisation de la boucle TABLEAU

Exemple d’utilisation de la boucle TABLEAU

22 septembre 2007 – par Olivier GENDRIN

Cet article est une illustration de l’utilisation du plugin Boucles_sans_tables

Nota SPIP-Contrib : un article qui à fait débat avant publication quand à la solution proposée. La mise en ligne doit permettre de poursuivre ses échanges de manière plus profitable à tous.

Imaginons que pour des raisons de design, vous ayez besoin d’afficher une ligne centrée d’images, dans un ordre précis, au beau milieu d’un article.

Vous ne pouvez pas utiliser le code <imgXXX|center>, puis qu’alors les images seraient les une au dessus des autres. Et <imgXXX|left> ou <imgXXX|right> ne permettent pas de centrer horizontalement la ligne d’images.

Il vous faut donc insérer vos images via un autre balisage, par exemple un div avec une classe particulière, qui recevra la règle CSS text-align: center;.

Un modèle

A la place des balises img, nous allons créer un modèle illustrations, qui s’utilise dans le texte avec <illustrations|images=105,96,97> (où 105,96,97 sont les id_document des images que nous voulons afficher, dans l’ordre dans lequel nous voulons les afficher).

Dans ce modèle, nous allons collecter, via un filtre, dans un tableau PHP global les éléments sur lesquels nous allons boucler, puis nous allons utiliser ce tableau comme paramètre de la boucle TABLEAU.

Code

Le modèle

le filtre

Fonctionnement

Dans notre modèle, nous recevons les id de nos documents dans #ENV{images}, séparés par des virgules. Nous passons donc ces données dans le filtre putInGlobalsAsArray, qui a pour seule fonction de remplir le tableau PHP $GLOBALS['Illustrations']. Notez que la fonction ne renvoie rien (return ('');).

Une fois que notre filtre à créé le tableau PHP, il devient accessible pour la boucle TABLEAU. Il ne reste donc plus qu’à utiliser la boucle normalement : <BOUCLE_parseArray (TABLEAU) {var=Illustrations}>. Notez qu’ici, le {var=Illustrations} correspond au $GLOBALS['Illustrations']. Autrement dit, que si dans notre filtre nous faisons $GLOBALS[’toto’], alors nous bouclons sur (TABLEAU) {var=toto}.

Voir en ligne : Présentation du plugin

Dernière modification de cette page le 4 novembre 2007

Retour en haut de la page

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

  • Métas

    8 août 2009 – 53 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2137 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Massicot

    7 octobre 2015 – 61 commentaires

    Recadrez et redimensionnez vos images directement dans l’espace privé de SPIP ! Inspiré par le plugin photospip, ce plugin plus minimaliste permet de recadrer et redimensionner les images dans l’espace privé de SPIP. Une fois le plugin installé (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1373 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • Intranet / Extranet

    31 mai 2013 – 79 commentaires

    Intranet / Extranet est un plugin très simple permettant d’interdire l’accès au site à tout visiteur non identifié. Mise à jour Voir fichier README du plugin. Mise en place La mise en place est rapide. Téléchargez le plugin. Activez (...)