【问题标题】:How to hide a fieldset (tab) in Plone add/edit form如何在 Plone 添加/编辑表单中隐藏字段集(选项卡)
【发布时间】:2015-05-20 06:33:25
【问题描述】:

我有一些敏捷内容类型的代码,如下所示:

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 隐藏但字段集选项卡“转换日志”仍显示在表单中,如上...

我不知道在添加/编辑表单中隐藏“转换日志”选项卡,

我该怎么办?

【问题讨论】:

    标签: plone fieldset dexterity z3c.form


    【解决方案1】:

    由于字段仍以隐藏模式呈现,因此字段集仍然存在。

    如果要完全省略字段集,则需要省略字段集中的所有字段。这可以使用omitted 指令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'),
    )
    

    【讨论】:

    • 好吧,如果我想在editForm中不省略这个字段,我该怎么办?
    • 您可以通过深入了解表单的update 方法来实现此目的。
    • 你能给我一些updateWidgets(self)update(self)函数的代码吗?
    【解决方案2】:

    我在自定义添加/编辑表单中找到了以下省略字段的正确方法:

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

    【讨论】:

    • 哈哈你太快了 ;-) 也许你应该在上面添加你的评论作为一个不同的问题,并将这个作为答案。恕我直言,这不是同一个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多