“我有个包裹叫食品包装. 我还有一个叫做我的文档.py. 作为一个标准结构,在foo/package中我有浏览器、内容、配置文件等。我想要实现的是为我的内容项mydocument创建一个定制的add模板。 我已经从这个链接http://docs.plone.org/external/plone.app.dexterity/docs/advanced/custom-add-and-edit-forms.html读了这篇文章
我所做的是在浏览器目录中创建了一个文件,并将其命名为mydocumentaddform.py文件. 此外,在我的浏览器目录中,我有模板目录。你知道吗
里面的代码mydocumentaddform.py文件地址:
from five import grok
from plone.directives import dexterity, form
from Products.CMFCore.utils import getToolByName
grok.templatedir('templates')
class mydocumentaddform(dexterity.AddForm):
grok.name('foo.package.mydocument')
form.wrap(False)
在browser/templates目录中,我创建了模板mydocumentaddform.pt文件. 但是,在添加mydocument内容时,没有呈现自定义的mydocumentdform模板,因为在模板内部添加了js脚本,以检测自定义的add模板是否覆盖默认的add模板。当我查看我的实例时,有一个用户警告说有一个未关联的模板配置指向我的add template:~。。。/foo/包/浏览器/模板/mydocumentaddform.pt文件你知道吗
有没有人遇到过同样的问题?或者有没有别的办法?谢谢。你知道吗
*是的,我忘了在这里加引号集团名称. 你知道吗
更新: 我在类ViewPageTemplateFile中找到了一个临时解决方案。以下是更新的代码:
from five import grok
from plone.directives import dexterity, form
from Products.CMFCore.utils import getToolByName
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
grok.templatedir('templates')
class mydocumentaddform(dexterity.AddForm):
grok.name('foo.package.mydocument')
template = ViewPageTemplateFile('templates/mydocumentaddform.pt')
form.wrap(False)
自定义的add模板已经被读取,但是,我的实例总是说我使用的模板仍然没有关联。我还观察到,当我将基类替换为灵巧.DisplayForm,实例错误消失。有了这个临时解决方案,我不确定将来会不会因为这个持续的错误而产生任何影响。你知道吗
我在您的代码中看到一些问题:您缺少名称上的引号:
您需要定义上下文:
您是否声明了附加层?那么你需要:
您可以在collective.nitf中找到一个工作示例。你知道吗
相关问题 更多 >
编程相关推荐