SAP 电商云 Spartacus UI Configurable Product 的页面设置

时间:2022-12-01 14:02:03

关键字

CPQ,Product Configuration,Product Configure,Product Variant

变体是在某些方面彼此不同但基于相同基本模型的产品。 变体的一个示例是 T 恤的颜色和尺寸。 在 Spartacus 中启用变体功能,并在 SAP Commerce Cloud 中配置产品后,客户可以在店面中选择具有他们选择的变体(或多个变体)的产品。

启用 variant 的代码:

ConfigModule.withConfig(<CmsConfig>{
      cmsComponents: {
        ProductVariantSelectorComponent: {
          component: ProductVariantSelectorComponent,
          guards: [ProductVariantGuard],
        },
      },
    }),

具有变体的产品需要在 /page 响应中包含 ProductVariantSelectorComponent CMS 组件,并且需要在页面上呈现它们。

搜索 home theater

SAP 电商云 Spartacus UI Configurable Product 的页面设置

url:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

custom Angular Component:cx-configure-product‘

url:http://localhost:4000/electronics-spa/en/USD/configure/vc/product/entityKey/CONF_HOME_THEATER_ML

http://localhost:4000/electronics-spa/en/USD/configure/vc/product/entityKey/CONF_HOME_THEATER_ML 打开之后是这样: SAP 电商云 Spartacus UI Configurable Product 的页面设置

在这个 template 里面:ProductDetailsPageTemplate SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

运行时的 Summary content slot: SAP 电商云 Spartacus UI Configurable Product 的页面设置

summary 里的 Component: SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

仅当 configurable 为 true 才显示: SAP 电商云 Spartacus UI Configurable Product 的页面设置

打印出来:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

owner type 硬编码成 product:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

这是标准的接口: SAP 电商云 Spartacus UI Configurable Product 的页面设置

http://localhost:4000/electronics-spa/en/USD/configure/vc/product/entityKey/CONF_HOME_THEATER_ML

运行时打印出来的 pipe 的输入和输出数据:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

上面的是已经进到 configuration 明细页面后打印出来的。不对,重新找。

这个才是正确的: SAP 电商云 Spartacus UI Configurable Product 的页面设置

把程序修改一下:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

判断是否是 route 配置: SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

只要 command 对象有 cxRoute,就被认为是 route command: SAP 电商云 Spartacus UI Configurable Product 的页面设置

根据 route 名称从 route configure 里拿到配置:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

  getRouteConfig(routeName: string): RouteConfig {
    const routeConfig = this.config?.routing?.routes;

    const result = routeConfig && routeConfig[routeName];
    if (!routeConfig || result === undefined) {
      this.warn(`No path was configured for the named route '${routeName}'!`);
    }
    return result;
  }

SAP 电商云 Spartacus UI Configurable Product 的页面设置

SAP 电商云 Spartacus UI Configurable Product 的页面设置

path: configure/vc/:ownerType/entityKey/:entityKey

SAP 电商云 Spartacus UI Configurable Product 的页面设置

把 path 里的变量 place holder 用实际值进行替换:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

最后结果: SAP 电商云 Spartacus UI Configurable Product 的页面设置

添加到购物车之后:

SAP 电商云 Spartacus UI Configurable Product 的页面设置

URL 如下:

http://localhost:4000/electronics-spa/en/USD/configure/vc/cartEntry/entityKey/0?forceReload=true&resolveIssues=false