Plone intègre de base un type de contenu pour les images, il existe un autre type de contenu pour les fichiers, les images pourraient être considérées comme des fichiers, mais on perdrait pas mal d’information et de souplesse dans la gestion du contenu.

Lorsque l’on ajoute une image, des vignettes de plusieurs tailles sont automatiquement générées :

  • ‘large’ : (768, 768),
  • ‘preview’ : (400, 400),
  • ‘mini’ : (200, 200),
  • ‘thumb’ : (128, 128),
  • ’tile’ : (64, 64),
  • ‘icon’ : (32, 32),
  • ‘listing’ : (16, 16)

Ce qui permet de couvrir la plupart des utilisations, mais c’est sans compter le client (ou le graphiste).
On peut donc créer un type de contenu dérivé du type image de base et rajouter des valeurs pour les vignettes. C’est assez contraignant, car il faut absoluement connaitre toutes les tailles d’images possibles pour le site, et si par malheur le layout du site change, il faut modifier le type de contenu avec les nouvelles tailles d’images et regénérer toutes les images.

Pour palier à ce problème, j’ai écris une external method qui prend en entrée une image et la largeur et la hauteur maximum désirée.
Le script vérifie si la miniature correspondante n’existe pas déjà ou si elle est à mettre à jour, et le cas contraire la créé et affiche la miniature.
Toutes les miniatures sont créées dans un dossier spéciale et stockées dans la ZODB.

Bref, un petit script qu’on se demande pourquoi il n’a pas été fait avant…

2 commentaires sur “Images et Plone

  1. tu pourrais me faire passer ton script stp ? J’arrive pas à faire appel à la fonction "tag" sur un de mes objets contenant un champ ImageField Merci

Répondre à cybernaute Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.