Boucles documents pour lister les images d’un site SPIP

La boucle documents, bien utilisée, permet de retourner diverses listes des images d’un site SPIP, y compris les articles ou rubriques auxquels elles appartiennent.

A partir de SPIP version 1.4

Après la publication de Liste les images des dossiers /IMG/gif, /IMG/jpg et /IMG/png, il m’a été demandé que ce script qui lisait seulement le répertoire IMG d’un site SPIP, retourne également à quel article ou rubrique appartenait une image. Ce qui impliquait d’aller lire la base de données MySql plutôt que le répertoire IMG. Après analyse, j’ai remarqué que la boucle documents de SPIP, bien utilisée, permettait de faire cela. C’est évidemment un peu plus complexe que l’implémentation d’un script « qui fait tout », mais c’est aussi beaucoup plus « Spipien », et c’est donc cette voie que j’ai choisi d’exploiter.

La documentation officielle sur les boucles documents se trouve ici :
http://www.spip.net/fr_article1823.html

Voici cependant quelques points utiles à savoir :

  1. Spip autorise toujours des images incluses dans les articles.
  2. Il autorise des documents joints dans les articles et/ou rubriques, si l’autorisation en est donnée dans l’administration du site (Configuration du site, Contenu du site, Documents joints).
  3. Dans la configuration du site, dans les fonctions avancées, Spip offre une possibilité très intéressante : la « Génération de miniatures des images ». Cette configuration est activée sur le site de démonstration lié à cet article, avec une taille maximale des vignettes fixée à 150 pixels.
    2 précisions :
    -  Si vous n’activez pas cette possibilité, les miniatures affichées seront celles par défaut (format du document) de SPIP.
    -  Les vignettes ne commenceront à être générées qu’à partir de l’activation de cette possibilité.
  4. Le paramètre des boucles documents {mode=document} ou {mode=image} :
    -  {mode=document} retourne tous les documents joints (y compris les images non directement insérées dans un article). Le paramètre supplémentaire {extension==jpg|png|gif} permettra de retourner seulement les documents images.
    -  {mode=image} retourne toutes les images, jointes ou insérées directement dans un article.
    -  On utilisera le critère {doublons} pour éviter dans une boucle d’avoir 2 fois un document, par exemple, une image à la fois jointe et insérée dans un article.

Les boucles proposées dans les squelettes :
-  img-rub-tout : Toutes les images publiées du site.
-  img-rub-tout-prive : Le même, mais avec accès privé (rédacteurs ou administrateurs)
-  img-rub-portfolio : Un exemple de portfolio à partir de document joint à une rubrique, la Génération de miniatures des images ayant été activée avant le téléchargement des images sur le site.

Dans img-rub-tout, une vignette cliquable de l’image est affichée, avec les titre, description, type, taille, poids et le n° de l’article (ou de la rubrique) auquel elle réfère, article par article, rubrique par rubrique. Un lien vers l’article (la rubrique) concerné est également affiché.

Dans img-rub-tout-prive, un lien « Modifier cet article (cette rubrique) » est ajouté. Sur une (très) bonne idée de BoOz de spipcontrib, le code spip d’affichage des images dans les articles (<docXX|left>, <imgZZ|center>, etc.) se trouve en dessous de chaque image, à disposition des rédacteurs. Cela leur permet de récupérer aisément les images affichées pour leurs propres articles.

Le package est ici :
http://support.cassiopea.org/spip/img-rub.zip

La démo (portfolio) est ici :
http://robert.sebille.openbaz.be/spip/-GALLERIE-Portfolio-1-.html

Dernière modification de cette page le 13 novembre 2008

Discussion

4 discussions

Ajouter un commentaire

Qui êtes-vous ?
  • [Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom