如何在 Plone add/edit 表单中隐藏字段集(选项卡)

How to hide a fieldset (tab) in Plone add/edit form

我有一些灵巧内容类型的代码,如下:

form.fieldset(
    'transitionsLog',
    label=_(u"Transitions Log"),
    fields=['t_log']
)
form.mode(t_log='hidden')
t_log = schema.TextLine(
    title=_(u'Transitions log'),
)

在 add/edit 表单中,字段 t_log 隐藏但字段集选项卡 'Transitions Log' 仍然显示在表单中,如上...

我不知道在 add/edit 表单中隐藏 "Transitions Log" 选项卡,

我该怎么办?

由于字段仍然以隐藏模式呈现,因此字段集仍然存在。

如果要完全省略字段集,则需要省略字段集中的所有字段。这可以使用 omitted 指令 form.omitted.

来实现
form.fieldset(
    'transitionsLog',
    label=_(u"Transitions Log"),
    fields=['t_log']
)
form.omitted('t_log')  # This will also omit your fieldset
t_log = schema.TextLine(
    title=_(u'Transitions log'),
)

我找到了一种正确的方法,如下所示,可以在自定义 Add/Edit 表单中省略字段:

from plone.z3cform.fieldsets.utils import remove
...
def updateWidgets(self):
    remove(self, 't_log')
    super(CustomEditForm, self).updateWidgets()