0

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

类型是

  • 供应商
  • 物品

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

如果我在创建供应商时上传 CSV 文件,我希望能够创建一堆项目。任何方式灵巧支持这一点(触发器,自定义视图......)?

4

1 回答 1

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], ...)

对于更复杂的操作,您可以使用将 CSV 数据转换为灵巧对象的管道构建一个transmogrifier管道transmogrify.dexterity,但这在这里可能有点矫枉过正。

于 2013-04-16T13:25:32.860 回答