当前位置:网站首页>SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑
SAP Spartacus home 页面读取 product 数据的请求的 population 逻辑
2022-07-06 00:35:00 【汪子熙】
Spartacus是一个开源的JavaScript web应用程序,允许您快速创建自己的基于JavaScript的SAP商务云店面。Spartacus是用Angular编写的,并以库的形式发布。使用Spartacus的推荐方法是构建自己的JavaScript web应用程序并导入库。无需修改,店面就能开箱工作,但 Spartacus 被设计为可升级、可定制和可扩展的,以满足您所有的品牌和功能需求。
入口:occ-product.adapter.ts~loadMany 方法:
拼装 url 输入参数就是:productCode 这个键值对,参数名称为 productCode,值为实际的产品 code,比如 358639:
同时,product 数据请求的 url,根据 productCode 值(动态),插入一个字符串模板构成的,这个字符串模板实际就是 product API 的 endpoint, 定义在 this.config.backend.occ.endpoints 里。下图是 product
相关的 OCC API endpoint:
上图配置的数据源,实际上硬编码在这个文件 projects\core\src\occ\adapters\product\default-occ-product-config.ts
里:
从调试器里能看出,Spartacus home 页面发起的 product 数据请求,scope 为 list,
故 url pattern 从 list
这个记录里取出,${productCode}
在运行时会被其实际值 358639
替换。
最后就成了下图:
为了保持我们对可升级性的承诺,Spartacus的设计模式是将非核心特性构建为添加或更改所提供功能的特性库(feature libraries)。
在使用Spartacus时,需要构建一个应用程序,它将引入Spartacus库,其中包含使用SAP Commerce Cloud所需的核心资源。然后构建包含任何自定义功能和页面的新特性。
Spartacus页面的内容是从SAP Commerce Cloud CMS(内容管理系统)获取的,比如徽标、链接、横幅和静态页面。SAP 建议新的内容驱动特性遵循相同的模式,使Content manager能够通过CMS工具修改页面内容。
边栏推荐
- Global and Chinese market of digital serial inverter 2022-2028: Research Report on technology, participants, trends, market size and share
- [designmode] composite mode
- synchronized 和 ReentrantLock
- Ffmpeg captures RTSP images for image analysis
- MySql——CRUD
- OpenCV经典100题
- [Chongqing Guangdong education] Chongqing Engineering Vocational and Technical College
- Pointer - character pointer
- 【EI会议分享】2022年第三届智能制造与自动化前沿国际会议(CFIMA 2022)
- Browser local storage
猜你喜欢
Leetcode:20220213 week race (less bugs, top 10% 555)
Notepad++ regular expression replacement string
MySQL storage engine
Opencv classic 100 questions
Comment faire votre propre robot
Notepad + + regular expression replace String
anconda下载+添加清华+tensorflow 安装+No module named ‘tensorflow‘+KernelRestarter: restart failed,内核重启失败
MYSQL GROUP_ The concat function realizes the content merging of the same ID
[designmode] Decorator Pattern
MySql——CRUD
随机推荐
What is information security? What is included? What is the difference with network security?
Notepad + + regular expression replace String
Arduino hexapod robot
Spark DF增加一列
LeetCode 1189. Maximum number of "balloons"
Pointer pointer array, array pointer
【文件IO的简单实现】
Key structure of ffmpeg - avframe
Go learning - dependency injection
Comment faire votre propre robot
Spark DF adds a column
Global and Chinese markets for hinged watertight doors 2022-2028: Research Report on technology, participants, trends, market size and share
Spark获取DataFrame中列的方式--col,$,column,apply
Mysql - CRUD
[groovy] XML serialization (use markupbuilder to generate XML data | set XML tag content | set XML tag attributes)
Classical concurrency problem: the dining problem of philosophers
Location based mobile terminal network video exploration app system documents + foreign language translation and original text + guidance records (8 weeks) + PPT + review + project source code
NLP generation model 2017: Why are those in transformer
从 1.5 开始搭建一个微服务框架——调用链追踪 traceId
Spark AQE