Comment redimensionner un widget d'image Dextérité?
Question
J'utilise un DisplayForm pour ma classe de vue et Réussi rendu un champ NamedBlobImage avec:
<span tal:replace="structure view/w/image/render" />
Comment puis-je modifier que ZPT pour afficher une taille d'image différente comme « image_mini » ou tout autre de plone.app.imaging?
La solution
Vous devez utiliser plone.app.imaging pour cela.
Ce serait comme:
<img tal:define="scales context/@@images;
thumbnail python: scales.scale('image', width=64, height=64);"
tal:condition="thumbnail"
tal:attributes="src thumbnail/url;
width thumbnail/width;
height thumbnail/height" />
Si le contexte est l'objet qui contient l'image et de l'image (sur scales.scale ( « image » ...) est le nom du champ qui a l'image que vous voulez redimensionner.
Si vous voulez utiliser l'image prédéfinie tailles juste utilisation:
<img tal:define="scale context/@@images"
tal:replace="structure python: scale.scale('image',
scale='mini').tag()" />
Vive
Autres conseils
Tout comme avec des champs d'image Archétypes, un ensemble d'échelles prédéfinies sont automatiquement disponibles dans Dextérité. Le raccourci pratique pour obtenir à ces derniers est d'utiliser le code comme:
<img src=”#” tal:replace=”structure
context/@@images/fieldname/scale” />
où « fieldname » est le nom du champ et « échelle » est l'une des échelles prédéfinies.
Jetez un oeil à http://pypi.python.org/pypi /plone.namedfile/#image-scales pour une information complète.