首页 > 解决方案 > 接收页面模板的延迟加载模块

问题描述

与@spartacus-storefront 相关

如何根据我在GET '/pages'请求中收到的“模板”来延迟加载模块?

示例:主页

我想有一种方法在模板和我必须加载的模块之间进行映射。

标签: spartacus-storefront

解决方案


我不确定我们是否可以毫无痛苦地使用 Spartacus 核心机制实现这样的逻辑,但我认为,在 SAP Commerce Cloud 端处理它将是最好的方法。

例如,您可以拥有两个单独的模板LandingPage1TemplateLandingPage2Template对于主页,您的 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 和逻辑,而无需操作前端应用程序端的模块。

同样的方法也适用于其他网站页面。


推荐阅读