gpt4 book ai didi

plone - 在 Plone 中自定义敏捷编辑表单模板?

转载 作者:行者123 更新时间:2023-12-04 11:27:49 25 4
gpt4 key购买 nike

我正在开发一个 Plone 插件,该插件需要为 Dexterity 内容重新换肤的备用编辑表单。我需要能够在 AJAX 覆盖中仅显示编辑表单的一部分(使用 JQuery UI,而不是 JQuery 工具,因此在服务器端执行此操作似乎比在 JavaScript 中过滤更合理)**。

来自 Dexterity Developer's Guide 的文档似乎表明我可以有一个使用宏的自定义模板。不过,本节缺少一些东西——对于那些不使用 grok 绑定(bind) View 的人来说,可能是一些关键的上下文,但也许是别的东西。创建仅模板 View 失败(显然无法从 View 类中找到名称),并且尝试将 ZCML 中的自定义模板绑定(bind)到股票 View 类或它的子类都失败(模板被忽略以支持库存模板)。

我的目标:

  • 对此进行编辑,该编辑包含在一个裸模板中,该模板基本上只包含 #content div 中的内容。
  • 我不只想要一个未包装的 z3c.form 渲染,我还需要一个最小的模板来包装它——只是不需要库存的 Plone viewlet 管理器和家具。

  • 什么不起作用:
    from plone.dexterity.browser.edit import DefaultEditForm
    from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

    class MyEditForm(DefaultEditForm):
    index = ViewPageTemplateFile('my_edit_template.pt')

    ZCML 等效项(使用运行时魔法定义索引)在这里也不起作用。

    如何将自定义模板注入(inject)编辑表单?

    ** 我正在研究 Solgema.fullcalendar 与 plone.app.event 的基于敏捷类型的兼容性。 Solgema.fullcalendar 将 jQuery UI 用于弹出窗口,而不是 plone.app.jquerytools 覆盖帮助器;为了保持一致性,拥有这个最小 View 而不是试图模仿普通 Plone 覆盖的 JavaScript 中的过滤器机制是有意义的。

    最佳答案

    z3c.form 查找模板为 template属性,因此您需要将自定义模板分配给 template编辑表单子(monad)类的属性,而不是 index (这是模板 ZCML 属性放置的位置)。

    from plone.dexterity.browser.edit import DefaultEditForm
    from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile

    class MyEditForm(DefaultEditForm):
    template = ViewPageTemplateFile('my_edit_template.pt')

    关于plone - 在 Plone 中自定义敏捷编辑表单模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145080/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com