我有一个基于 Dexterity 的内容类型,并使用以下方式启用了 IRelatedItems 行为:
<property name="behaviors">
<element value="plone.app.relationfield.behavior.IRelatedItems" />
</property>
我想在我的模板上呈现相关项目的列表,但我不知道该怎么做。
有什么提示吗?
找到它:首先自定义视图必须是一个显示表单,所以它必须派生自 plone.directives.dexterity.DisplayForm:
class MyCustomView(dexterity.DisplayForm):
grok.context(IMyContentType)
grok.require('zope2.View')
然后你可以在你的页面模板上使用这样的东西:
<fieldset id="related-items" tal:condition="context/relatedItems">
<legend i18n:translate="">Related items</legend>
<tal:relateditems tal:content="structure view/w/IRelatedItems.relatedItems/render" />
</fieldset>
这不是你要找的吗?
您可以考虑使用标准的灵巧关系行为:
plone.app.dexterity.related.IRelatedItems
通过这种行为,相关项目会自动出现在内容的标准视图中。
贾科莫