2015-05-14 40 views
5

ich einige Code in Geschicklichkeit Inhaltstyp haben, wie unten:Wie eine Fieldset (tab) in Plone verstecken hinzufügen/bearbeiten Form

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

In hinzufügen/bearbeiten Form, das Feld t_log verstecken, aber Fieldset Registerkarte ' Transitions Log‘zeigen noch an Form, wie oben ... enter image description here

ich habe keine Ahnung "Transitions Log" Tab in hinzufügen/bearbeiten Form zu verbergen,

wie kann ich tun?

Antwort

6

Da die Felder immer noch im ausgeblendeten Modus gerendert werden, ist das Feld weiterhin vorhanden.

Wenn Sie das Feldset vollständig weglassen möchten, müssen Sie alle Felder im Feldsatz weglassen. Dies kann unter Verwendung der omitted Direktive form.omitted erreicht werden.

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

Ja, danke sehr. – Andy

+0

Nun, wenn ich dieses Feld in editForm nicht auslassen möchte, wie kann ich tun? – Andy

+0

Sie können dies erreichen, indem Sie in die "update" -Methode Ihres Formulars eintauchen. – Mathias

1

finde ich einen richtigen Weg, wie unten zu ausgelassenem Feld in der kundenspezifischen Add/Edit Form:

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

haha ​​du warst schnell ;-) Wahrscheinlich solltest du deinen Kommentar oben als eine andere Frage hinzufügen und das als Antwort. Imho ist es nicht das gleiche Problem. – Mathias