Plone:缩放图像

2024-04-29 08:28:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我的plone页面模板中有以下代码:

<img 
tal:define="folderimagetitle python:context.getField('folderimagetitle').getAccessor(context)()"
tal:condition="folderimagetitle" 
src="" 
alt="" 
tal:replace="structure python:context.getWrappedField('folderimage').tag(context, alt=folderimagetitle, css_class='photo')" 
/>

基本上我想在H1标记旁边显示图像。图像可以正常工作和显示,但它将显示与文本不对齐的完整图像大小。我也不想只添加一个height和width属性,因为这会导致图像的边缘参差不齐,不能很好地缩放。在

如何将其缩小到Plone中可用的默认大小之一,即列表、图标、平铺、拇指、迷你、预览和大尺寸?在


Tags: 代码图像src模板imgplonecontext页面
2条回答

公认的答案是非常完美的,但是这里有一个额外的提示来说明它是如何工作的:

/@@images上下文可用于任何对象类型,但第一个参数刻度.刻度()是一个必须在该上下文中使用.getField(name)获取的字段名。

例如,如果您有一个gallery视图,其中显示了view/images上的图像列表,则可以使用:

<li tal:repeat="image view/images">
<img tal:define="scales image/@@images;
                 img python: scales.scale('image', width=100, height=100);"
     tal:attributes="src img/url">
</li>

请特别注意,不能仅将映像实例作为:

^{pr2}$

如果由于某种原因,您需要使用一种语言而不是TAL来执行此操作,那么技巧是使用restrictedTraverse()来获取“@@images”上下文,类似于:

^{3}$

“现代”的方式是使用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" />

http://plone.org/products/plone.app.imaging/

相关问题 更多 >