有没有办法让 wrapper div/container 将 CMS 组件分组到插槽中?

Is there a way to make wrapper div/container to group CMS components in slots?

根据设计,我们在多个页面上以可视方式对 CMS 组件进行了分组。我们需要某种包装器 div 或围绕特定组件组的容器来向其添加 CSS 并使它们在视觉上看起来像一个实体。我们尝试过对插槽进行样式设置,但这绝不是一个好的解决方案。您对我们如何实现这一目标有什么建议吗?

我可以想出各种各样的方法,它们都有PROs/CONs和局限性。您也可以结合这些策略来优化组合。

  1. 最简单的实现方式是使用标准 CSS 选择器。可以使用各种选择器,例如兄弟选择器、最后类型选择器。
  2. 更改 CMS 结构以适应分组,方法是为组件使用特定插槽。使用这种方法,您可以使用基于页槽位置的 CSS 选择器来影响布局。这里的缺点是页面槽不太灵活,不能包含您不希望成为 "group".
  3. 一部分的其他组件。
  4. 您可以在所谓的容器组件中组合组件;容器组件有一个嵌入式组件列表。优点是容器组件可以有非分组的兄弟组件,它们可以以不同的方式呈现。
  5. 最后的办法是重写 Spartacus 中的页面布局/页面槽组件,并有条件地添加特定的 DOM。这是一个较低级别的更改,会导致更多工作,并且会使您偏离标准实施。

希望这能给你一些想法,如果没有,你应该提供更多细节。