SAP 电商云 Spartacus UI 里如何捕捉语言设置的更改
2023-09-14 09:02:53 时间
我们知道在 SAP 电商云 Spartacus UI 里,用户可以通过下拉菜单更改当前访问 site 的语言:
监控语言变化的代码:
this.subscription.add(
this.languageService
.getActive()
.subscribe((isoCode: string) =>
this.setDirection(
this.winRef.document.documentElement,
this.getDirection(isoCode)
)
)
);
这里的 get active,拿的其实是 active language:
从 ngrx store 里读取语言:
切换语言时发生了什么事情?
找到触发源:
在 Angular UI 里找到了 select 控件的 change 事件的响应处理逻辑:
等号右边是一个表达式:active = $event.target.value;
active 就是 Component 的属性,将 $event 的 target 的 value 字段值(即用户当前选中的语言)赋给 Component active 属性。
active 是 Component 的属性。
Component 将控制权交给 service:
根据不同的 context 拿到 service:
精髓在于,返回的是 Observable 对象:
等到 subscribe 调用时才触发:
SAP Commerce Cloud中的CMS包括以下特殊页面类型:产品、类别和目录。还有一种通用的Content页面类型,用于所有其他类型的页面,比如登录、订单历史记录和FAQ页面。
内容页面在CMS中有一个可配置的URL,称为页面标签。但是,产品、类别和品牌页面的url只能在Spartacus中配置。
相关文章
- SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员
- SAP OData V4 模型支持的一些数据绑定模式
- SAP UI5 应用开发教程之七十六 - 如何实现 SAP UI5 的 Lazy Loading(延迟加载,懒加载)试读版
- 对 SAP UI5 应用使用 uiveri5 执行测试的 ERR_CONNECTION_REFUSED 错误
- SAP UI5 System Test 的工具之一:uiveri5
- SAP UI5 标准应用的多语言支持 - SAP UI5 运行时语言判定机制
- SAP WebIDE编辑器的主题设置
- 如何给 SAP ABAP ALV 报表的修改功能添加自定义校验逻辑试读版
- SAP ABAP SM50的另类用途 - ABAP工作进程对数据库表读取操作的检测
- SAP CRM Relationship API设计原理
- 使用Excel消费SAP C4C的OData service
- 使用了SAP Spartacus的一个在线网站:乐高Storefront
- SAP Spartacus 产品搜索页面结果里的 filter 设计明细
- SAP Spartacus页面底部的Component请求
- SAP Spartacus取语言设置的入口程序
- SAP Spartacus cms页面请求的语言参数
- SAP CRM里note界面默认语言的决定逻辑
- SAP UI5和React的页面渲染性能比较
- SAP成都研究院安德鲁:自己动手开发一个Chrome Extension
- SAP BTP 应用 mta.yaml 里的 sap-btp-project1-dest-content module