collective.listingviews:如何使用自定义字段显示基于灵巧度的图像字段和richtext字段

时间:2014-01-18 13:33:33

标签: plone dexterity

我想使用collective.listingviews控制面板来显示图像和richtext字段。我有图像字段工作,但想知道是否有一种更简单的方法来检索图像。当我尝试检索richtext字段时,我最终会出现权限错误。

详细信息:

我有一个自定义敏捷内容类型(examplecontent)和一个检索这些examplecontent类型的集合。

要显示我为集合创建了自定义“列表视图”的内容类型,目标是每个检索到的项目都应显示以下内容:

  • 名为“body”的RichText字段
  • 名为'screenshot'的图像字段

这是布局可能表现的模型: mockup of layout

要检索图像字段,我正在使用自定义表达式:

python:"<img src='%s/view/++widget++form.widgets.screenshot/@@download' />" % item.getObject().absolute_url()

要检索正文字段我正在使用自定义表达式:

python:item.getObject().body

图片字段正在运行,但richtext字段提供以下内容:

  

RichTextValue对象。 (您的意思是.raw还是.output?)

当我将richtext字段的tal表达式更改为以下内容时:

python:item.getObject().body.output

然后我收到以下权限错误:

  

权限不足   您没有足够的权限来查看此页面。如果您认为错误地收到了此消息,请与站点管理部门联系。

1 个答案:

答案 0 :(得分:1)

首先,你应该改变

python:"<img src='%s/view/++widget++form.widgets.screenshot/@@download' />" % item.getObject().absolute_url()

为:

python:"<img src='%s/view/++widget++form.widgets.screenshot/@@download' />" % item.getURL()

因为这种方式意味着你不必获得完整的对象。请注意使用getURL()方法。

对于第二个表达式,请尝试以下方法:

item/getObject/@@text-transform/body

python: item.getObject().restrictedTraverse('@@text-transform/body')

未测试