我通过Dexterity在Plone 4.3中创建了两种内容类型,并在文件系统上创建了Plone产品。
类型是
项目只能存在于供应商内部,我可以手动创建没有
的新项目如果我在创建供应商时上传CSV文件,我希望能够创建一堆项目。灵巧的任何方式都支持这个(触发器,自定义视图......)?
答案 0 :(得分:2)
您必须在自定义视图中处理它。没有预先存在的代码来处理它。
对于简单的情况,只需使用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], ...)
对于更复杂的操作,您可以使用transmogrify.dexterity
构建一个transmogrifier
管道,将CSV数据转换为灵巧对象,但这可能是一种过度杀伤。