我用Dexterity创建了一个内容类型,在添加了一个项目后, 在首页上,没有内容的字段仍显示在详细信息页面中。
我想隐藏这些字段和标题,我该怎么办?
答案 0 :(得分:0)
您可以使用display form自定义敏捷类型的视图。
这是z3c.form
表单,因此我们可以使用.updateWidgets()
方法将小部件可用性动态设置为hide some of them:
import z3c.form
from plone.directives import dexterity
class MyCustomView(dexterity.DisplayForm):
grok.context(IMyContentType)
grok.require('zope2.View')
def updateWidgets(self):
super(MyCustomView, self).updateWidgets()
for widget in self.widgets.values():
if not widget.value:
widget.mode = z3c.form.interfaces.HIDDEN_MODE