我已经阅读了手册,特别是在灵巧下操纵对象。 http://plone.org/products/dexterity/documentation/manual/developer-manual/reference/manipulating-content-objects/
我想要做的是以编程方式将内容(项目/容器)添加到正在创建的当前容器中。更具体地说,我正在创建一个容器/文件夹,一旦创建了这个容器,它将自动在父文件夹(手动新创建的文件夹)下创建项目/文件夹。
我尝试使用类似的代码createContentInContainer(文件夹,'content_type_name',title = u“title_here”),但是我的实例上出现错误,说“文件夹”没有定义。我想问一下如何在内容类型中插入此代码段?它是在类构造函数中定义的函数/方法内部,还是应该如何最初声明/定义“文件夹”?
感谢。
答案 0 :(得分:2)
答案似乎很简单:您的folder
必须是文件夹类型的existing instance
。例如:
new_id = plonesite.invokeFactory('Folder', 'some_id')
folder = plonesite[new_id]
from plone.dexterity.utils import createContentInContainer
createContentInContainer(folder, 'example.type', title=u"Foo")
HTH