我正在为我的视图类使用 DisplayForm 并成功渲染 NamedBlobImage 字段:
<span tal:replace="structure view/w/image/render" />
如何调整该 ZPT 以显示不同的图像尺寸,如 'image_mini' 或来自 plone.app.imaging 的任何其他尺寸?
与 Archetypes 图像字段一样,一组预定义的比例在 Dexterity 中自动可用。获得这些便利的捷径是使用如下代码:
<img src=”#” tal:replace=”structure
context/@@images/fieldname/scale” />
其中“fieldname”是字段的名称,“scale”是预定义的比例之一。
查看http://pypi.python.org/pypi/plone.namedfile/#image-scales了解完整信息。
您应该为此使用plone.app.imaging 。
就像:
<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" />
其中 context 是保存图像和图像的对象(在 scales.scale('image'...) 上是具有要调整大小的图像的字段名称。
如果您想使用预定义的图像尺寸,只需使用:
<img tal:define="scale context/@@images"
tal:replace="structure python: scale.scale('image',
scale='mini').tag()" />
干杯