Plone 元素数量可变的内容类型

Plone 元素数量可变的内容类型,plone,dexterity,Plone,Dexterity,我也把这个问题贴到了plone用户的邮件列表上,所以我希望没有人介意,特别是因为我没有隐藏任何东西 因为我的问题很难变成一般性的问题,所以我将尝试用一个(希望)说明性的例子来解释它。在这件事上请容忍我 内容类型:产品 每个产品应具有多个解释性章节,章节内容包括标题和丰富文本。所述标题应取自预先定义的标题(由编辑)或自由输入一次(例外) 由于该网站将使用灵活的方式,并需要使用多种语言(plone.app.multilingual),因此集中标题可以为翻译人员节省一些麻烦,避免不必要的重复。一般

我也把这个问题贴到了plone用户的邮件列表上,所以我希望没有人介意,特别是因为我没有隐藏任何东西

因为我的问题很难变成一般性的问题,所以我将尝试用一个(希望)说明性的例子来解释它。在这件事上请容忍我

  • 内容类型:产品

    每个产品应具有多个解释性章节,章节内容包括标题和丰富文本。所述标题应取自预先定义的标题(由编辑)或自由输入一次(例外)

由于该网站将使用灵活的方式,并需要使用多种语言(plone.app.multilingual),因此集中标题可以为翻译人员节省一些麻烦,避免不必要的重复。一般来说,样式是通过Diazo完成的,因此这些部分将映射到一个漂亮的小部件上

我的问题是,如何将其映射到Plone上,同时考虑到编辑和翻译人员的可用性以及软件堆栈的效率

  • 方法1

    将标题放在隐藏文件夹中,并在产品内容类型中使用词汇表。还应将产品设置为folderish内容类型,并要求编辑将每个部分作为单独的项目输入到所述文件夹中(例如,ProductSection非folderish内容类型)。对每个产品重复该过程。但这似乎不太方便用户,而且imho无法很好地与产品和部门的数量进行扩展

  • 方法2

    我当然也可以将产品内容类型一般简化为一个富格文本字段,并让用户以div块的形式输入每个部分,其中包含一个标题和一个段落。尽管这是一种更容易实现的方法,但它会给翻译人员(许多重复翻译)和编辑带来负担(例如,为营销或其他目的更改标题,需要通过所有产品手动更改标题等)

同样,请记住,这是我问题的一个说明性示例,这里的产品实际上是一个公司产品组合中的产品,而不是Plone附加组件

所以我的问题基本上可以归结为:哪种方法听起来更合理?或者有没有更标准和/或更具创造性的方法来解决这个问题

非常感谢您提前提出的建议和帮助。非常感谢

更新 当我在plone用户列表上收到一个非常有启发性的答案后,我目前的想法(未经测试,头脑风暴)如下:

  • 产品将是一个自定义表单(由于MultiWidget,请参见下文)
  • 节块将保存在产品对象的列表中(标题仅为选择字段)
  • 章节标题将保存在其他地方,并通过不同的方式进行管理(需要站点管理员可以访问,因此任何ZMI都是不可能的)
  • 通过z3c.form的MultiWidget轻松编辑(实际上,这是关键因素)
如果这能很好地解决问题,并且能够灵活地使用多种语言,我想这对所有相关人员来说都是最佳的解决方案。 当然,我会感谢任何和所有的意见或建议。也许我现在完全走错了方向,但根据我所读到的,这实际上应该很好