问题描述
我有一个名为“ CustomTileSection”的部分,其中包含一些组件集(假设有8个组件,但是组件的数量不是静态的,而是动态的)。我需要在Spartacus中显示该组件。如何获取每个组件要迭代的数据并在UI中显示?
解决方法
每个CMS页插槽都可以包含动态数量的CMS组件,以显示其中包含CMS组件的插槽:
- 例如,通过Layout Config将CMS插槽添加到页面模板(但如果该插槽是自定义的):
LandingPage2Template: {
slots: [
'CustomSlot10',],},
更多详细信息,请点击https://sap.github.io/spartacus-docs/page-layout/。
- 通过
typeCode
将CMS组件映射到他的Angular实现:
ConfigModule.withConfig({
cmsComponents: {
YourComponentTypeCode: {
component: AngularComponent;
}
}
});
更多https://sap.github.io/spartacus-docs/customizing-cms-components/。
- 然后,您可以通过AngularComponent的构造函数中的
CmsComponentData
服务来获取CMS Component:
public constructor(
public component: CmsComponentData<CmsYourComponent>
) {}
请注意,如果所有CMS组件都具有相同的typeCode
,则只需映射一次即可,这是Spartacus自行完成的所有其他工作。