我想使用collective.listingviews控制面板来显示图像和richtext字段。我有图像字段工作,但想知道是否有一种更简单的方法来检索图像。当我尝试检索richtext字段时,我最终会出现权限错误。
详细信息:
我有一个自定义敏捷内容类型(examplecontent)和一个检索这些examplecontent类型的集合。
要显示我为集合创建了自定义“列表视图”的内容类型,目标是每个检索到的项目都应显示以下内容:
这是布局可能表现的模型:
要检索图像字段,我正在使用自定义表达式:
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
然后我收到以下权限错误:
权限不足 您没有足够的权限来查看此页面。如果您认为错误地收到了此消息,请与站点管理部门联系。
答案 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')
未测试