SAP 电商云 Spartacus UI Site Context 模块里 Providers 组件的实现明细
providersindex.ts 里只有两份 export: context-ids.ts是一些参数常量。 export const LANGUAGE_CONTEXT_ID = 'language'; export const CURRENCY_CONTEXT_ID = 'currency'; export const BASE_SITE_CONTEXT_
关于 SAPGUI 事物码在 Fiori Launchpad 中嵌入运行的技术细节
笔者之前的文章到底什么样的 ABAP 系统能运行 Fiori 应用曾经提到,我们可以把SAP GUI里的传统事务码放到SAP Launchpad里启动,并在浏览器里运行。 这是事物码 SE80 在浏览器里运行的界面: 笔者最初注意到这种将SAP GUI里的事务码运行在浏览器里的做法,是在日常工作的测试时,发现Fiori Launchpad里这个Create Material的tile.
SAP 电商云 Spartacus UI SiteContext Selector 的设计明细讲解
facade包含四大导出: site-context.interface.ts (SiteContext)定义了一个接口: import { Observable } from 'rxjs'; export interface SiteContext<T> { getAll(): Observable<T[]>; getActive
Visual Studio Code Active File in StatusBar 扩展以及 Extension API 概述
这个扩展可以在 Visual Studio Code 的状态栏上实时显示当前选中文件在文件系统中的绝对路径,如下图所示: 作者 RoscoP: 选择 Extension Settings:可以修改 Status Bar 显示的文本颜色: Visual Studio Code构建时考虑到了可扩展性。从UI到编辑体验,几乎VS Code的每一部分都可以通过扩展API进行定制和增强。事
使用 Ngrx ActionSubject 监听 Dispatched NgRx Actions
NgRx 是一个用于 Angular 应用开发的响应式 State 管理工具库。 受到 Redux 的影响,Ngrx 底层使用 Rxjs 来允许用户管理整个应用的全局状态。 不是每个应用程序都需要状态管理解决方案,但是集中应用程序的状态和逻辑可以实现撤消/重做、状态持久性等强大功能。 使用NgRx需要理解一些关键概念,Actions 就是其中之一。 在NgRx上下文中,动作描述的是可以从任
SAP 电商云 Spartacus UI Event Service 实现明细介绍
Spartacus 事件服务提供了一个事件流,开发人员可以在不与特定组件或模块紧密集成的情况下使用它。在Spartacus中,事件系统用于构建与第三方系统的集成,如标签管理器(Tag Management)和网络跟踪器。 从 event.service.ts 文件中导入 EventService: 事件服务还允许开发人员解耦某些组件。例如,可能有一个分派事件的组件,即事件的产生者,和另一个
SAP 电商云 Spartacus UI 根据 url 设置 site context 的具体例子
connectors包含: site.connector.tssite.adapter.tsconverters.ts converters.ts还是从 site-context 平级目录导入: 创建几个 normalizer 的 injection token: convertor 负责把数据模型从后台格式转换成 UI 模式: site.adapter.ts ( Sit
关于 index.ts 在大型 Angular 项目中的应用
对于 Angular来说,模块(module)是一个容器/包(container/package),用来存放各种组件、引用其他模块、提供依赖注入等。 index.ts (Barrel file)是一种将多个模块的导出汇总到单个方便模块的方法。index.ts 本身是一个模块文件,它重新导出其他模块的选定导出。 一个例子如下: index.ts 是一种将多个模块的导出汇总到单个方便模块的方
SAP Spartacus Site Context 实现专题页面
@[toc] Site Context 的实现位于 core\src\ 文件夹之下。 实现总共分下列八大部分: site-context.module.ts绝大多数 import 都是 site-context 文件夹自身的子文件夹提供的: 上图第一行,从 @angular/core 导入 ModuleWithProviders,这是一个包装器: 将 NgModule 与pr
SAP Spartacus Site Context 实现专题页面
@[toc] Site Context 的实现位于 core\src\ 文件夹之下。 实现总共分下列八大部分: site-context.module.ts绝大多数 import 都是 site-context 文件夹自身的子文件夹提供的: 上图第一行,从 @angular/core 导入 ModuleWithProviders,这是一个包装器: 将 NgModule 与pr
关于 Angular 应用 Components 和 Directives 的实例化问题
同 Angular Module 不同,Angular Components 和 Directives 要实例化多次,每个出现在 HTML template 中的 markup 都会对应一次实例化。 此外,这些项的作用域也限定在它们被导入的 NgModule中,以防止两个组件使用相同的选择器时发生命名冲突。由于依赖注入(DI)行为的这种差异,需要区分一个包含组件和指令的 NgModule 和一个
关于 Angular 应用 Module 的 forRoot 方法的讨论
在 Angular 开发中,我们经常遇到一个 NgModule 在导入时需要调用它的静态 forRoot 方法。,最值得注意的例子是 RouterModule. 当在 Angular 应用的根目录注册这个模块时,导入RouterModule的方式如下: import { RouterModule, Routes } from '@angular/router'; const
SAP Commerce Cloud 里的 Site API 调用方式讲解
Multiple Country Site Support 为管理包含多个内容目录并使用内容继承的站点提供原生支持。它可以重用从顶级父目录到较低级别的国家、地区和本地内容目录的组件和页面,以及无缝站点导航。 在多国家、多渠道或多品牌的背景下,多个网站需要跨不同的网站显示相同的页面和/或组件,但它们也可能希望显示特定于每个地区、渠道或品牌的内容。SmartEdit 支持通过使用共享的全局内容目录和
SAP Commerce Cloud B2C Accelerator 架构设计概述
B2C Accelerator module 是一组扩展(extensions)的集合,提供了启用能够完全正常工作的店面所需的所有 sample 数据。所包含的数据集用于服装店面(apparel)和电子产品(electronics)店面。 从下图能够看出,apparelstore 和 electronicsstore 都依赖于 core-Accelerator 的 acceleratorser
如何给 SAP Commerce Cloud Site 设置默认语言
我们可以在 SAP Commerce Cloud Backoffice Administration Cockpit 中为 CMSSite 设置默认语言。可以通过为 CMSSite 实例或 BaseStore 实例设置默认语言来设置它。 站点的默认语言设置为 SmartEdit 提供了关于在其界面中显示的语言的信息。 CMSSite:在 CMSSite 实例中设置默认语言。 BaseSt
从 SAP 帮助文档的页面,谈谈 SAP Content Management 的实现
我们打开一个 SAP 帮助文档的页面,看到如下链接: https://help.sap.com/docs/SAP_COMMERCE/9d346683b0084da2938be8a285c0c27a/8c3a6caf866910148cd58d649958d7e2.html?version=2205&q=site#loio76a5e87baecd4900b2d0f16e3768354e
SAP Fiori 注解 @ObjectModel.readOnly工作原理解析
SAP Fiori 注解,是 ABAP Programming Model for SAP Fiori 的重要概念之一。 ABAP Programming Model for SAP Fiori 适用于 SAP NetWeaver AS for ABAP 7.51 innovation package, SP00 或者更高的版本。对底层数据库没有要求,推荐使用 SAP HANA. 开发人员需要
使用 ABAP 事物码 SAT 对从浏览器打开的 SAP应用进行性能监控和测量
在开始介绍事物码 SAT 之前,让我们简单回顾一下 ABAP Platform 的概念。 ABAP 平台是基于 SAP HANA 数据库和数据管理平台的基于 ABAP 的 SAP 解决方案的基础。ABAP 平台充分利用了 SAP HANA 提供的底层创新。这与 SAP NetWeaver 不同,在 SAP NetWeaver 中,Application Server ABAP 为 SAP支持的所
实现 ABAP 条件断点的三种方式分享
所谓条件断点,就是设置在某行语句上的断点,并不总是会触发,而是仅当满足一定条件时才触发。 条件断点的使用场合是什么? 举个简单的例子,下图第15行ADD语句设置一个断点。因为它在一个具有1000行的内表循环体内,所以正常情况下会触发1000次。 假设我们在调试一个bug,这个bug当循环到第999次时才出现,那我们前998次的单步调试都是无效的。最高效的做法,就是借助条件断点的概念,让断
ABAP 编程语言中 Class(类)的设计原理剖析
在具体介绍 ABAP 这门编程语言的 Class(类) 的设计原理之前,先简单介绍一下 ABAP 编程语言本身。 ABAP 是 SAP 公司推出的一门高级编程语言,全称是 Advanced Business Application Program. 在使用 ABAP 编程语言之前,必须先安装 Application Server ABAP (下文简称 AS ABAP)作为 ABAP 系统的应用层