如何调整Dexterity图像小部件的大小?

时间:2011-09-08 11:10:20

标签: image widget plone dexterity

我正在为我的视图类使用DisplayForm,并成功使用以下方式呈现NamedBlobImage字段:

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

如何调整ZPT以显示不同的图像大小,如'image_mini'或plone.app.imaging中的任何其他图像?

2 个答案:

答案 0 :(得分:7)

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

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

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

请查看http://pypi.python.org/pypi/plone.namedfile/#image-scales以获取完整信息。

答案 1 :(得分: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" />

上下文是保存图像和图像的对象(在scales.scale('image'...)上是包含要调整大小的图像的字段名称。

如果您想使用预定义的图像尺寸,请使用:

<img tal:define="scale context/@@images"
     tal:replace="structure python: scale.scale('image',
                  scale='mini').tag()" />

干杯