敏捷添加表格模板

时间:2012-11-23 05:19:32

标签: python plone dexterity

我正在尝试在我的dexterity内容类型上创建自定义的添加表单。我已按照此链接中的说明操作:http://plone.org/products/dexterity/documentation/manual/developer-manual/advanced/forms

在我的内容类型中:

class BusinessTransactionFormAddForm(dexterity.AddForm):
    grok.name('ebpls.app.businesstransactionform')

对于我的模板,businesstransactionformaddform.pt我使用了此链接的布局:http://dexterity-developer-manual.readthedocs.org:8000/en/latest/schema-driven-forms/customising-form-presentation/layout-templates.html

我之所以要自定义添加表单,是因为我想插入jQuery来计算DataGrid字段中的值。我插入javascript没有问题。唯一的问题是,在网页上,它创建了两种形式,位于上部和下部,即在另一部分的底部复制相同类型的字段。我使用的模板有问题吗?有谁知道添加视图的正确模板是什么?谢谢!

1 个答案:

答案 0 :(得分:3)

Dexterity假设添加表单的模板只是表单而不是整个页面 - 所以它采用表单模板并将其包装在另一个使用main_template的模板中。

由于您的自定义模板确实呈现整个页面,因此您应该使用form.wrap指令关闭包装:

from five import grok
from plone.directives import form
from plone.directives import dexterity

class BusinessTransactionFormAddForm(dexterity.AddForm):
    grok.name('ebpls.app.businesstransactionform')
    form.wrap(False)