如何隐藏Plone中的字段集(选项卡)添加/编辑表单

时间:2015-05-14 16:42:02

标签: plone fieldset dexterity z3c.form

我在dexterity内容类型中有一些代码,如下所示:

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

在添加/编辑表单中,字段t_log隐藏但字段集选项卡' Transitions Log'仍然在表格中显示,如上所述...... enter image description here

我不知道隐藏" Transitions Log"选项卡添加/编辑表单,

我该怎么办?

2 个答案:

答案 0 :(得分:6)

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

如果要完全省略字段集,则需要省略字段集中的所有字段。这可以使用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'),
)

答案 1 :(得分:1)

我找到了一个正确的方法,如下面的自定义添加/编辑表单中的省略字段:

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