2015-05-14 3 views
5

У меня есть некоторый код типа контента ловкости, как показано ниже:Как скрыть Fieldset (вкладка) в Plone/редактировать формы

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 скрыть, но вкладка FIELDSET ' Переходы Log»до сих пор показывают в виде, как описано выше ... enter image description here

Я понятия не имею, чтобы скрыть вкладку„Transitions Log“в надстройке форме/редактирования,

Как я могу сделать?

ответ

6

Поскольку поля по-прежнему отображаются в скрытом режиме, набор полей все еще существует.

Если вы хотите полностью опустить набор полей, вам необходимо опустить все поля в наборе полей. Этого можно достичь с помощью директивы omittedform.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'), 
) 
+0

Да, спасибо большое. – Andy

+0

Хорошо, если я хочу, чтобы это поле не было опущено в editForm, как я могу это сделать? – Andy

+0

Вы можете достичь этого, погрузившись в метод 'update' вашей формы. – Mathias

1

Я найти правильный путь, как показано ниже, чтобы опустить поле Настраиваемый Добавить/изменить форму:

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

ха-ха, вы должны были быстро ;-) Вероятно, вы должны добавить свой комментарий выше, как другой вопрос, и это ответ. imho это не та же проблема. – Mathias