5

我正在为我的视图类使用 DisplayForm 并成功渲染 NamedBlobImage 字段:

<span tal:replace="structure view/w/image/render" />

如何调整该 ZPT 以显示不同的图像尺寸,如 'image_mini' 或来自 plone.app.imaging 的任何其他尺寸?

4

2 回答 2

7

与 Archetypes 图像字段一样,一组预定义的比例在 Dexterity 中自动可用。获得这些便利的捷径是使用如下代码:

<img src=”#” tal:replace=”structure
 context/@@images/fieldname/scale” />

其中“fieldname”是字段的名称,“scale”是预定义的比例之一。

查看http://pypi.python.org/pypi/plone.namedfile/#image-scales了解完整信息。

于 2011-09-08T15:23:21.967 回答
5

您应该为此使用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()" />

干杯

于 2011-09-08T13:14:34.680 回答