1

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

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

4

1 回答 1

0

您可以使用显示表单自定义敏捷类型的视图。

这是一个z3c.form表单,因此我们可以使用该.updateWidgets()方法来动态设置小部件可用性以隐藏其中一些

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
于 2012-11-16T14:31:25.570 回答