SAP Spartacus如何显示内部的自定义组件

时间:2020-10-07 16:58:50

标签: spartacus-storefront

我有一个名为“ CustomTileSection”的部分,其中包含一些组件集(假设有8个组件,但是组件的数量不是静态的,而是动态的)。我需要在Spartacus中显示该组件。如何获取每个组件要迭代的数据并在UI中显示?

1 个答案:

答案 0 :(得分:1)

每个CMS页插槽都可以包含动态数量的CMS组件,以显示其中包含CMS组件的插槽:

  1. 例如,通过Layout Config将CMS插槽添加到页面模板(但如果该插槽是自定义的):
LandingPage2Template: {
  slots: [
    'CustomSlot10',
  ],
},

更多详细信息,请点击https://sap.github.io/spartacus-docs/page-layout/

  1. 通过typeCode将CMS组件映射到他的Angular实现:
ConfigModule.withConfig({
  cmsComponents: {
    YourComponentTypeCode: {
      component: AngularComponent;
    }
  }
});

更多https://sap.github.io/spartacus-docs/customizing-cms-components/

  1. 然后,您可以通过AngularComponent的构造函数中的CmsComponentData服务来获取CMS Component:
public constructor(
  public component: CmsComponentData<CmsYourComponent>
) {}

此处https://sap.github.io/spartacus-docs/customizing-cms-components/#accessing-cms-data-in-cms-components的其他详细信息。

请注意,如果所有CMS组件都具有相同的typeCode,则只需映射一次即可,这是Spartacus自行完成的所有其他工作。