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

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

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

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom