Plone 隐藏“灵巧度”内容类型的无内容字段

Plone 隐藏“灵巧度”内容类型的无内容字段,plone,dexterity,Plone,Dexterity,我创建了一个灵活的内容类型,添加了一个项目后, 在首页上,没有内容的字段仍显示在详细信息页面中 我想隐藏这些字段及其标题,我该怎么办?您可以使用 这是一个z3c.form表单,因此我们可以使用.updateWidgets()方法动态地将小部件可用性设置为: 您的意思是字段标签仍在显示?是的,字段标签仍在显示,但没有内容我可以修改默认视图吗?它在哪里?我不知道如何创建自定义视图和哪个文件夹?@BingquanBao:你要么自定义item.pt模板并查找是否有任何项是空的,要么你必须像我们在这里做的

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


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

您可以使用

这是一个
z3c.form
表单,因此我们可以使用
.updateWidgets()
方法动态地将小部件可用性设置为:


您的意思是字段标签仍在显示?是的,字段标签仍在显示,但没有内容我可以修改默认视图吗?它在哪里?我不知道如何创建自定义视图和哪个文件夹?@BingquanBao:你要么自定义
item.pt
模板并查找是否有任何项是空的,要么你必须像我们在这里做的那样对
DisplayForm
子类化(这是默认视图)。我想隐藏字段集,我该怎么办
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