gpt4 book ai didi

plone - 如何获取敏捷内容类型的图像并在批量 ListView 中显示?

转载 作者:行者123 更新时间:2023-12-02 00:11:54 25 4
gpt4 key购买 nike

我需要创建一个包含基于敏捷的内容类型(Plone 4.2)的文件夹的批处理 ListView ,该 View 还显示它们的图像。我找到了两种获取对象图像的方法。

方法一:

在模板中(批处理内)

         ...
<div tal:define="item_object item/getObject;">
<img tal:condition="exists:item_object/@@images/image1"
tal:replace="structure item_object/@@images/image1/mini" />
</div>

方法二:

在 View 类中

def get_item_image(self, item):
itemobj = item.getObject()
scales = getMultiAdapter((itemobj, self.request), name='images')
scale = scales.scale('image1', scale='mini')
imageTag = None
if scale is not None:
imageTag = scale.tag()
return imageTag

在模板中

         ...
<div tal:define="item_image python:view.get_item_image(item)">
<img tal:condition="item_image"
tal:replace="structure item_image" />
</div>

谁能告诉我哪种方式最好(如果有的话)不唤醒对象?

最佳答案

我认为当前的 plone.app.imaging 在任何情况下都需要唤醒对象以访问其图像比例(毕竟它们存储在对象内部)。因此生成对象的唤醒免费列表不是很容易。

好消息是 Dexterity 内容类型比 Archetypes 内容类型更轻量,并且通过在模板中迭代 folder.contentItems() 进行原始列表应该不会那么昂贵。事实上,它甚至可能比通过目录查询更快。所以不用担心唤醒对象,只需使用 plone.app.imaging 方法:

https://github.com/plone/plone.app.imaging

关于plone - 如何获取敏捷内容类型的图像并在批量 ListView 中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14749216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com