SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑

Spartacus是一个开源的JavaScript web应用程序,允许您快速创建自己的基于JavaScript的SAP商务云店面。Spartacus是用Angular编写的,并以库的形式发布。使用Spartacus的推荐方法是构建自己的JavaScript web应用程序并导入库。无需修改,店面就能开箱工作,但 Spartacus 被设计为可升级、可定制和可扩展的,以满足您所有的品牌和功能需求。

入口:occ-product.adapter.ts~loadMany 方法:

SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第1张图片

拼装 url 输入参数就是:productCode 这个键值对,参数名称为 productCode,值为实际的产品 code,比如 358639:

SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第2张图片

同时,product 数据请求的 url,根据 productCode 值(动态),插入一个字符串模板构成的,这个字符串模板实际就是 product API 的 endpoint, 定义在 this.config.backend.occ.endpoints 里。下图是 product 相关的 OCC API endpoint:

SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第3张图片

上图配置的数据源,实际上硬编码在这个文件 projects\core\src\occ\adapters\product\default-occ-product-config.ts 里:

SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第4张图片

从调试器里能看出,Spartacus home 页面发起的 product 数据请求,scope 为 list,
SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第5张图片

故 url pattern 从 list 这个记录里取出,${productCode} 在运行时会被其实际值 358639 替换。

SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第6张图片

最后就成了下图:
SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑_第7张图片

为了保持我们对可升级性的承诺,Spartacus的设计模式是将非核心特性构建为添加或更改所提供功能的特性库(feature libraries)。

在使用Spartacus时,需要构建一个应用程序,它将引入Spartacus库,其中包含使用SAP Commerce Cloud所需的核心资源。然后构建包含任何自定义功能和页面的新特性。

Spartacus页面的内容是从SAP Commerce Cloud CMS(内容管理系统)获取的,比如徽标、链接、横幅和静态页面。SAP 建议新的内容驱动特性遵循相同的模式,使Content manager能够通过CMS工具修改页面内容。

你可能感兴趣的:(SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑)