0

我有一个包含标准 ATImages 的 Dexterity 文件夹类型。我希望它在文件夹或集合摘要视图中列出时显示其包含的第一个图像。我尝试在视图上设置图像属性,但是当我尝试访问其 URL 时甚至没有咨询:http://site/my-dex/image

那是我使用的代码:

class View(grok.View):
    grok.context(IMyDex)
    grok.require('zope2.View')

    @memoize
    def photos(self):
        """Return a catalog search result of photos to show
        """

        context = aq_inner(self.context)
        catalog = getToolByName(context, 'portal_catalog')
        folder_path = '/'.join(context.getPhysicalPath())
        results = catalog(path=folder_path,
                          portal_type='Image',
                          sort_on='getObjPositionInParent')
        return results

    @property
    def image(self):
        try:
            first_img = self.photos[0].getObject()
        except IndexError:
            first_img = None
        return first_img

我应该怎么做?

4

1 回答 1

1

我们在collective.nitf中做着非常相似的事情;你可以看看查看代码

于 2012-04-25T21:36:14.133 回答