基于父级中的csv文件创建子内容(plone灵巧度)

基于父级中的csv文件创建子内容(plone灵巧度),plone,dexterity,Plone,Dexterity,我通过灵巧性在Plone 4.3中创建了两种内容类型,并在文件系统上创建了一个Plone产品 这些类型是 供应商 项目 项目只能存在于供应商内部,我可以手动创建新项目,而无需 如果我在创建供应商时上传CSV文件,我希望能够创建一组项目。灵巧性是否支持此功能(触发器、自定义视图…?您必须在自定义视图中处理此功能。没有预先存在的代码来处理这个问题 对于简单的情况,只需使用csv模块读取上传的文件,并使用行在Supplier容器中创建项目: from plone.dexterity.utils i

我通过灵巧性在Plone 4.3中创建了两种内容类型,并在文件系统上创建了一个Plone产品

这些类型是

  • 供应商
  • 项目
项目只能存在于供应商内部,我可以手动创建新项目,而无需


如果我在创建供应商时上传CSV文件,我希望能够创建一组项目。灵巧性是否支持此功能(触发器、自定义视图…?

您必须在自定义视图中处理此功能。没有预先存在的代码来处理这个问题

对于简单的情况,只需使用
csv
模块读取上传的文件,并使用行在
Supplier
容器中创建项目:

from plone.dexterity.utils import createContentInContainer
import csv

reader = csv.reader(uploadedfile)

for row in reader:
    createContentInContainer(supplier, 'your.package.item', title=row[0], ...)

对于更复杂的操作,您可以使用来构建一个
transmogrifier
管道,以将CSV数据转换为灵巧对象,但这可能有些过分。

如何处理后触发器?意思是我输入供应商的信息并点击提交(就像PloneFormGen中的自定义适配器)?@PeterB:我会说。我现在根据您的建议找到了一个带有自定义视图的解决方案。谢谢你的帮助