我正在使用撇号-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
答案 0 :(得分:1)
我没有准确地说明你的行为,但accordion-widgets
的模板确实没有正确地关闭它的标记。泄漏可能会以不同的方式影响不同的浏览器,在Chrome中我会得到一些破碎的堆叠。