用途:本技能面向 SAP Fiori Elements 灵活编程模型(Flexible Programming Model,FPM),用于在标准 floorplan 基础上按需扩展,取代“纯 Fiori Elements”与“freestyle UI5”二选一的旧做法。仅适用于 OData V4,V2 不支持。
主要能力与扩展层级(按推荐顺序):
- Building Blocks:在自定义视图中复用 Fiori Elements 组件,如 macros:Table、macros:FilterBar、macros:Chart、macros:Field,保留草稿处理、导航与个性化等框架能力。
- Extension Points:通过 manifest.json 为现有页面添加自定义 section、列或工具栏 action,例如 Object Page 的 sections、List Report 的 controlConfiguration columns、actions 中的 press 处理器。
- Controller Extensions:继承 sap/ui/core/mvc/ControllerExtension,覆写或增强标准生命周期与编辑流行为,如 onBeforeSave、onAfterRendering,并在 manifest.json 的 sap.ui.controllerExtensions 中挂接。
使用方式:在 app/<name>/ext/ 目录下放置 fragment 与控制器扩展,通过 manifest.json 配置位置(placement/anchor)、标题与可见性;控制器内使用 this.base.byId(...) 获取控件,避免 sap.ui.getCore().byId(...)。
适用场景:需要为 Object Page 增加自定义区块、为表格增加自定义列、为工具栏增加自定义按钮,或覆写保存/编辑/导航流程时。完全自定义页面仅作为最后手段。
限制与注意:Building Blocks 依赖 V4 元数据;不要整体覆写 ObjectPageController,只覆写必要钩子;扩展文件应集中放在 ext/ 目录并清晰命名。官方参考与 FPM Explorer 链接见资料,具体版本兼容性与部署要求暂未提供。