2015-05-14 29 views
5

düzenleme:Plone bir fieldset (sekme) gizlemek için nasıl ekleyebilir/aşağıda ben maharet içerik türündeki bazı koduna sahip formu

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

ekleme/düzenleme formunda, saha gizlemek t_log ama Fieldset sekme ' Geçişler Günlüğü' hala enter image description here

Ben ekleme/düzenleme şeklinde 'Geçişler Günlüğü' sekmesini gizlemek için hiçbir fikrim yok ... yukarıdaki gibi formda göstermek,

ben nasıl yapabilirim?

cevap

6

Alanları hala gizli modda oluşturulduğundan, fieldset hala var.

Tarla kümesini tamamen atlamak isterseniz, alan kümesindeki tüm alanları atlamanız gerekir. Bu, omitted yönergesi form.omitted kullanılarak elde edilebilir.

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

Evet, çok teşekkür:

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'), ) 
Andy

+0

iyi, eğer bu alanı editForm içinde atlamamı istersem, nasıl yapabilirim? – Andy

+0

Bunu, formunuzun "update" yöntemine girerek başarabilirsiniz. – Mathias

1

I/Düzenle Formu Ekle Custom atlanmış alana aşağıdaki gibi bir doğru yolu bulmak.
+0

haha ​​hızlı olsaydınız ;-) Muhtemelen yukarıdaki yorumunuzu farklı bir soru olarak eklemelisiniz ve bunu bir cevap olarak yazmalısınız. imho aynı sorun değil. – Mathias