为Dexterity内容类型隐藏没有内容的字段

时间:2012-11-16 13:58:53

标签: plone dexterity

我用Dexterity创建了一个内容类型,在添加了一个项目后, 在首页上,没有内容的字段仍显示在详细信息页面中。

我想隐藏这些字段和标题,我该怎么办?

1 个答案:

答案 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