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

Discussion

4 discussions

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

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