笔者这篇教程介绍了如何在 SAP Fiori Elements 应用的 manifest.json 里注册 Extension fragment,从而给 List Report 应用的 Table 区域新增自定义列
:
10. 如何通过扩展(Extension)的方式给 SAP Fiori Elements List Report 的表格新增列
我浏览器打开了 SAP Fiori Elements 应用,单步调试 SAP UI5 的 Component.js 代码时,观察到下图 _getManifestEntry
的输入参数为/sap.ui5/extends/extensions/sap.ui.viewExtensions/sap.suite.ui.generic.template.fragments.TableColumns/ResponsiveTableColumnsExtension|SEPMRA_C_PD_Product.
getManifestEntry
是 SAP UI5 Component 的一个方法,用于从应用的 manifest.json 文件中获取指定的配置信息。manifest.json
文件是 Fiori 应用的核心配置文件,定义了应用的元数据、模型、服务、i18n、路由等信息。
_getManifestEntry
的输入参数是一个字符串,它表示 manifest.json 文件中的一个 JSON 路径。具体到你的问题,这个参数可以被拆分为以下几个部分:
/sap.ui5/extends
:这是一个基本路径,指向 manifest.json 文件中的sap.ui5
属性下的extends
子属性。sap.ui5
部分是 SAP UI5 应用的配置节,包含了模型、路由、资源包等信息。extends
属性用于继承其他 Component 的配置。
/extensions/sap.ui.viewExtensions
:extensions
是扩展的意思,这里是指扩展sap.ui5
的一些设置。sap.ui.viewExtensions
是其中的一个扩展点,用于对 UI5 View 进行扩展。
/sap.suite.ui.generic.template.fragments.TableColumns/ResponsiveTableColumnsExtension
: 这是一个具体的扩展实现路径。它指向的是在sap.suite.ui.generic.template.fragments.TableColumns
命名空间下的ResponsiveTableColumnsExtension
扩展。这个扩展可能是用于改变表格列的显示方式,使得它们在不同的设备和屏幕尺寸下都能以良好的方式显示。
|SEPMRA_C_PD_Product
: 这是一个分隔符后的具体的扩展目标。这里可能是指扩展目标是一个叫做SEPMRA_C_PD_Product
的 Component 或 View。
在实际应用中,可以通过 getManifestEntry
方法获取到这个路径下的配置信息,然后在代码中进行使用。例如,可能会根据获取到的配置信息对表格列进行动态的创建和配置,以满足不同设备和屏幕尺寸下的显示需求。
总结
总的来说,SAP Fiori Elements 和 SAP UI5 的设计都遵循了模块化和可配置的原则。通过 manifest.json文件和 getManifestEntry
方法的使用,开发者可以更加灵活地配置和扩展他们的应用,而无需修改大量的硬编码。这不仅使得开发工作变得更加高效,也使得应用更加易于维护和升级。