从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发

简介: 从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发

昨天 Jerry 读到了 SAP天天事 公众号上发布的一篇文章:多家知名企业选择 SAP Commerce Cloud 为客户提供卓越购物体验。


SAP 日前宣布,锦江国际旗下的全球酒店供应链平台锦江联采、摩托车制造商新大洲本田和娱乐零售商 Virgin Megastore 已选择采用 SAP Commerce Cloud(电商云)解决方案,为客户提供卓越的电商体验。


image.png


既然选择了 SAP Commerce Cloud 并进行实施,那么对其前台界面的定制化必不可少。


面向终端消费者的 SAP Commerce Cloud 电商云 UI,包含了基于古老 JSP 技术 和基于 SAP Spartacus 开源框架实现的两种版本,前者终将被后者取代。下图是基于 Spartacus 开源框架的 SAP Commerce Cloud 电商云界面。


关于 SAP Spartacus 的概要介绍,可以参考我这篇文章:Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版。


image.png


本文从一个实际例子出发,介绍如何对SAP Commerce Cloud 电商云的界面进行二次开发。


Jerry 2018 年的一篇文章:SAP UI和Salesforce UI开发漫谈,曾经介绍过,比如分别基于 SAP ABAP Webdynpro 和 SAP WebClient UI 技术开发而成的 SAP SRM 和SAP CRM UI,界面都是由一个个 UI Component(组件) 拼装而成。SAP Commerce Cloud 电商云 UI 也不例外。


回忆一下 SAP CRM UI 的二次开发流程:


打开要定制化的 UI 界面,按 F2 快捷键打开技术明细界面,查到实现该界面的 UI Component名称:BT116H_SRVO.



image.png


使用对应的开发工具,打开组件BT116H_SRVO,进行增强开发。

image.png


SAP Commerce Cloud 电商云 UI 的增强思路如出一辙。


假设我想对下图高亮区域, 即 SAP 电商云的购物车(Cart)页面的产品列表部分,进行二次开发。


image.png


在 Chrome 开发者工具里,找到上图实现页面的Angular 组件对应的 selector:cx-cart-details.


image.png


根据找到的 selector cx-cart-details , 作为关键字,在 SAP Spartacus 源代码里进行搜索。


每个 Angular Component 同其 selector 具有一一对应关系,因此我们找到了 Component selector cx-cart-details, 也就找到了组件名称:CartDetailsComponent:


image.png


在 SAP Spartacus 的默认实现里,SAP Commerce Cloud 后台的 Cart 模型 CartComponent,映射的 Angular Component,正好是我们之前找到的 CartDetailsComponent:


image.png


所以接下来,我们要做的事情:


创建一个新的 Angular Component,扩展自标准 Angular Component CartDetailsComponent.

如下图所示,我给这个新建的 Component 取名为 MyCartComponent,其 selector 为 app-my-cart.


image.png


新建的 MyCartComponent 扩展自 标准的 CartDetailsComponent,既可重用后者已有的业务逻辑,也可以编写新的业务逻辑。


而 UI 界面的二次开发,在该 Component 对应的模板文件,my-cart.component.html 里实现。


为简单起见,在我自定义的 MyCartComponent 里,我仅仅打印出添加到购物车里的产品名称,然后首尾加上两个一级标题。


image.png


MyCartComponent 开发完毕后,将其映射到 SAP Commerce Cloud 后台 CMS 模型 CartComponent 上。


下图第83行~89行的语义是,通过ConfigModule.withConfig 方法,定义了一个优先级比 SAP Spartacus 标准配置优先级更高的客户配置,该配置的内容是一条映射记录,告诉 SAP Spartacus 框架:当页面要渲染 SAP Commerce Cloud 名为 CartComponent 的模型时,请使用我开发的 MyCartComponent 进行页面绘制。


image.png


这个二次开发最后的效果如下:


image.png


在生成的 HTML 源代码里,我们自定义的Angular Component 的 selector app-my-cart, 取代了 SAP Spartacus 标准 Cart Component的 selector cx-cart-details.


image.png


当然,这种使用自定义 Angular Component 去替换 SAP Commerce Cloud 电商云标准 Component 的做法,只是 SAP 电商云 UI 众多自开发方式的一种,后续 Jerry 会介绍其他增强方式,感谢阅读。


相关文章
|
3月前
|
Web App开发 存储 前端开发
谈谈企业级应用的自定义 UI 创建和集成方法一览
谈谈企业级应用的自定义 UI 创建和集成方法一览
31 0
|
7月前
|
Web App开发 前端开发 开发者
Mobile first 设计思路在 SAP 电商云 Spartacus UI 中的设计体现一例
Mobile first 设计思路在 SAP 电商云 Spartacus UI 中的设计体现一例
32 1
|
7月前
|
存储 监控 测试技术
SAP 电商云 Spartacus UI DeliveryComponent 的依赖设计
SAP 电商云 Spartacus UI DeliveryComponent 的依赖设计
50 0
cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(2)
cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(2)
|
缓存 领域建模 数据库
cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(1)
cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(1)
cloud Alibaba电商后台组件实战:架构演进,了解领域驱动设计,项目公共模块编写(1)
|
Web App开发 供应链 Java
从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发
昨天 Jerry 读到了 SAP天天事 公众号上发布的一篇文章:多家知名企业选择 SAP Commerce Cloud 为客户提供卓越购物体验。 SAP 日前宣布,锦江国际旗下的全球酒店供应链平台锦江联采、摩托车制造商新大洲本田和娱乐零售商 Virgin Megastore 已选择采用 SAP Commerce Cloud(电商云)解决方案,为客户提供卓越的电商体验。
193 0
从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发
|
Web App开发 存储 JSON
SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud(电商云) UI 增强实现中的体现
本文首先快速回顾几种 SAP 产品中的 UI 增强思路,然后具体介绍该思路是如何在 SAP Commerce Cloud(电商云) UI 增强中贯彻实施的。 Jerry 之前的文章:Jerry 在 2020 SAP 全球技术大会的分享:SAP Spartacus 技术介绍的文字版,曾经提到,SAP 电商云的新一代标准 UI,由众多 Angular Component 组成,这些 Component 通过 SAP Spartacus 开源项目,以库文件的方式发布给客户使用。
202 0
SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud(电商云) UI 增强实现中的体现
|
XML 开发框架 前端开发
谈谈 SAP 产品 UI 开发中的组件概念
谈谈 SAP 产品 UI 开发中的组件概念
142 0
谈谈 SAP 产品 UI 开发中的组件概念
关于 SAP 电商云 Spartacus UI checkout 流程的一些讨论
关于 SAP 电商云 Spartacus UI checkout 流程的一些讨论
133 0
关于 SAP 电商云 Spartacus UI checkout 流程的一些讨论
|
Web App开发 存储 开发工具
各种 SAP 产品的自定义 UI 创建和集成方法一览
这是 Jerry 2021 年的第 70 篇文章,也是汪子熙公众号总共第 347 篇原创文章。 Jerry 之前通过下列两篇文章,介绍了构成 SAP 产品 UI 的逻辑单元:UI 组件和 UI 容器组件。
136 0
各种 SAP 产品的自定义 UI 创建和集成方法一览