Pertanyaan Cara menyembunyikan fieldset (tab) di Plone add / edit form


Saya memiliki beberapa kode dalam jenis konten ketangkasan, seperti di bawah ini:

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

Dalam bentuk tambah / sunting, field t_log disembunyikan tetapi tab fieldset 'Transitions Log' masih tampil pada form, seperti di atas ... enter image description here

Saya tidak punya ide untuk menyembunyikan tab "Transisi Log" di tambah / sunting formulir,

Bagaimana saya bisa melakukannya?


5
2018-05-14 16:42


asal


Jawaban:


Karena bidang tersebut masih disajikan dalam mode tersembunyi, fieldset masih ada.

Jika Anda ingin benar-benar menghilangkan fieldset Anda harus menghilangkan semua bidang dalam fieldset. Ini dapat dicapai dengan menggunakan omitted direktif 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'),
)

6
2018-05-15 06:01



Saya menemukan cara yang benar seperti di bawah ini untuk bidang yang dihilangkan di Custom Add / Edit Form:

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

1
2018-05-19 22:33