在撇号CMS中使用多个嵌套模块

时间:2018-06-01 15:17:12

标签: apostrophe-cms

我正在使用撇号-cms(2.x)创建一组模块(小部件)。 现在我想创建不同的嵌套小部件,以使用一些模块,例如采用2列布局。 我按照嵌套窗口小部件https://apostrophecms.org/docs/tutorials/getting-started/layout-widgets.html的教程编写了一个简单的两列布局:

module.exports = {
  extend: 'apostrophe-widgets',
  label: 'Two Column Layout',
  contextualOnly: true,
  addFields: [{
      name: 'columnLeft',
      type: 'area',
      label: 'Left Area',
    },
    {
      name: 'columnRight',
      type: 'area',
      label: 'Right Area',
    }
  ]
};

在某种程度上这是有效的。我可以在这两个区域中添加其他小部件,并且html可以正确构建。 当我在两列布局下使用其他小部件时出现问题。看一下Inspector,我发现所有小部件位于之下都是在双列的area-area-widget-wrapper中构建的。当我只想删除两个列小部件时,我也删除了下面的所有模块。 (见图片链接)

Chrome Inspector, wrong nesting of widgets inside the two column widget

我是否遗漏了某些东西,或者嵌套布局是否错过了它的结束标记,所以一切都被拉入其中?

(更新):尝试缩小问题范围:我可以在下面添加新的(非布局)模块,它们看起来是正确的。一旦我尝试添加另一个布局小部件,我就无法使用它,因为它不会保存任何信息。

(更新):用于演示的GitHub项目:https://github.com/raphaelurban/apostrophe-test

1 个答案:

答案 0 :(得分:1)

我没有准确地说明你的行为,但accordion-widgets的模板确实没有正确地关闭它的标记。泄漏可能会以不同的方式影响不同的浏览器,在Chrome中我会得到一些破碎的堆叠。