我不确定我们是否可以毫无痛苦地使用 Spartacus 核心机制实现这样的逻辑,但我认为,在 SAP Commerce Cloud 端处理它将是最好的方法。
例如,您可以拥有两个单独的模板LandingPage1Template
,LandingPage2Template
对于主页,您的 SAP Commerce Cloud 系统可以验证用户的状态并向 Spartacus 应用程序发送不同的页面结构以及要显示的插槽和组件。
在 Spartacus Angular 应用程序端,您应该为单独的模板添加配置,例如:
export const layoutSlotsConfig: LayoutConfig = {
layoutSlots: {
header: {
xs: {
slots: ['Header']
},
sm: {
slots: ['Header']
},
md: {
slots: ['Header']
},
lg: {
slots: ['Header']
}
},
LandingPage1Template: {
slots: [
'Section1C',
'Section1A'
]
},
LandingPage2Template: {
slots: [
'Section2C',
'Section2A'
]
},
footer: {
slots: ['Footer']
}
}
};
然后,您可以简单地通过 Spartacus 核心机制为上述模板实现单独的 UI 样式、插槽和组件,换句话说,您可以根据用户的状态为 Home Page 实现单独的 UI 和逻辑,而无需操作前端应用程序端的模块。
同样的方法也适用于其他网站页面。