简体   繁体   中英

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

I have some code in dexterity content type, as below:

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

In add/edit form, the field t_log hide but fieldset tab 'Transitions Log' still show at form, as above... 在此输入图像描述

I have no idea to hide "Transitions Log" tab in add/edit form,

How can I do ?

Since the fields are still rendered in hidden mode, the fieldset still exists.

If you want to completely omit the fieldset you need to omit all fields in the fieldset. This can be achieved using the omitted directive 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'),
)

I find a right way as below to omitted field in Custom Add/Edit Form:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM