我刚刚在SAP_BelizeMasterDetailView
部署了一个应用程序。
该应用程序是从自由式模板创建的,在flpSandbox.html
文件中我将主题定义为:sap_belize。
当我在上面运行应用程序时,WebIDE
我得到了预期的主题。
但是当我在 HCP 上部署应用程序时,我只得到sap_bluecrystal
主题,甚至在应用程序本身上,是否有人理解这一点,或者SAP 社区是否知道发生这种情况?
此外,当我尝试更改我被带到的 Shell 上的主题时(因为自由式模板配置为在应用程序中 - 在启动板中)它告诉我主题已经设置为所需的(sap_belize)但它是如图所示,仍然使用蓝水晶主题。
我发现更麻烦的是,您甚至无法从图片中显示的设置窗口中修改主题。
这是清单文件:
{
"_version": "1.4.0",
"sap.app": {
"id": "charm",
"type": "application",
"i18n": "i18n/i18n.properties",
"title": "{{appTitle}}",
"description": "{{appDescription}}",
"applicationVersion": {
"version": "1.0.0"
},
"dataSources": {
"mainService": {
"uri": "/HANAMDC4/APPAPP/XS_CHANGEREQUESTS_DATA.xsodata/",
"type": "OData",
"settings": {
"odataVersion": "2.0",
"localUri": "localService/XS_CHANGEREQUESTS_DATA.xsodata/metadata.xml"
}
}
},
"sourceTemplate": {
"id": "servicecatalog.connectivityComponent",
"version": "0.0.0"
},
"crossNavigation": {
"inbounds": {}
}
},
"sap.ui": {
"technology": "UI5",
"icons": {
"icon": "sap-icon://detail-view",
"favIcon": "",
"phone": "",
"phone@2": "",
"tablet": "",
"tablet@2": ""
},
"deviceTypes": {
"desktop": true,
"tablet": true,
"phone": true
},
"supportedThemes": [
"sap_belize"
]
},
"sap.ui5": {
"rootView": {
"viewName": "charm.view.App",
"type": "XML",
"id": "app"
},
"dependencies": {
"minUI5Version": "1.42.0",
"libs": {
"sap.ui.core": {
"minVersion": "1.42.0"
},
"sap.m": {
"minVersion": "1.42.0"
},
"sap.ushell": {
"minVersion": "1.42.0"
},
"sap.collaboration": {
"minVersion": "1.42",
"lazy": true
}
}
},
"contentDensities": {
"compact": true,
"cozy": true
},
"models": {
"i18n": {
"type": "sap.ui.model.resource.ResourceModel",
"settings": {
"bundleName": "charm.i18n.i18n"
}
},
"": {
"dataSource": "mainService",
"preload": true
}
},
"routing": {
"config": {
"routerClass": "sap.m.routing.Router",
"viewType": "XML",
"viewPath": "charm.view",
"controlId": "idAppControl",
"controlAggregation": "detailPages",
"bypassed": {
"target": [
"master",
"notFound"
]
},
"async": true
},
"routes": [
{
"pattern": "categmaster",
"name": "categmaster",
"target": [
"categDetail",
"categmaster"
]
},
{
"pattern": "master",
"name": "master",
"target": [
"object",
"master"
]
},
{
"pattern": "uploadCollection",
"name": "uploadCollection",
"target": "uploadCollection"
},
{
"pattern": "CHANGE_REQUEST_LIST/{objectId}",
"name": "object",
"target": [
"master",
"object"
]
},
{
"pattern": "approvedmaster",
"name": "approvedmaster",
"target": [
"approvedDetail",
"approvedmaster"
]
},
{
"pattern": "rejectedmaster",
"name": "rejectedmaster",
"target": [
"rejectedDetail",
"rejectedmaster"
]
},
{
"pattern": "allmaster",
"name": "allmaster",
"target": [
"allDetail",
"allmaster"
]
},
{
"pattern": "categDetail",
"name": "categDetail",
"target": [
"categmaster",
"categDetail"
]
},
{
"pattern": "approvedDetail",
"name": "approvedDetail",
"target": [
"approvedmaster",
"approvedDetail"
]
},
{
"pattern": "rejectedDetail",
"name": "rejectedDetail",
"target": [
"rejectedmaster",
"rejectedDetail"
]
},
{
"pattern": "allDetail",
"name": "allDetail",
"target": [
"allmaster",
"allDetail"
]
}
],
"targets": {
"categmaster": {
"viewName": "CategMaster",
"viewLevel": 1,
"viewId": "categmaster",
"controlAggregation": "masterPages"
},
"uploadCollection": {
"viewName": "upload.Page",
"viewLevel": 1
},
"approvedmaster": {
"viewName": "ApprovedMaster",
"viewLevel": 2,
"viewId": "approvedMaster",
"controlAggregation": "masterPages"
},
"rejectedmaster": {
"viewName": "RejectedMaster",
"viewLevel": 2,
"viewId": "rejectedmaster",
"controlAggregation": "masterPages"
},
"allmaster": {
"viewName": "AllMaster",
"viewLevel": 2,
"viewId": "allmaster",
"controlAggregation": "masterPages"
},
"categDetail": {
"viewName": "CategDetail",
"viewLevel": 3,
"viewId": "Detail"
},
"approvedDetail": {
"viewName": "ApprovedDetail",
"viewLevel": 3,
"viewId": "approvedDetail"
},
"rejectedDetail": {
"viewName": "RejectedDetail",
"viewLevel": 3,
"viewId": "RejectedDetail"
},
"allDetail": {
"viewName": "AllDetail",
"viewLevel": 3,
"viewId": "AllDetail"
},
"master": {
"viewName": "Master",
"viewLevel": 2,
"viewId": "master",
"controlAggregation": "masterPages"
},
"object": {
"viewName": "Detail",
"viewId": "detail",
"viewLevel": 3
},
"categobject": {
"viewName": "CategDetail",
"viewId": "detail",
"viewLevel": 3
},
"detailObjectNotFound": {
"viewName": "DetailObjectNotFound",
"viewId": "detailObjectNotFound"
},
"detailNoObjectsAvailable": {
"viewName": "DetailNoObjectsAvailable",
"viewId": "detailNoObjectsAvailable"
},
"notFound": {
"viewName": "NotFound",
"viewId": "notFound"
}
}
}
},
"sap.platform.hcp": {
"uri": "webapp",
"_version": "1.1.0"
}
}
html 文件:flpSandbox.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Change and Request Management</title>
<!-- Bootstrap the unified shell in sandbox mode for standalone usage.
The renderer is specified in the global Unified Shell configuration object "sap-ushell-config".
The fiori2 renderer will render the shell header allowing, for instance,
testing of additional application setting buttons.
The navigation target resolution service is configured in a way that the empty URL hash is
resolved to our own application.
This example uses relative path references for the SAPUI5 resources and test-resources;
it might be necessary to adapt them depending on the target runtime platform.
The sandbox platform is restricted to development or demo use cases and must NOT be used
for productive scenarios.
-->
<script>
window["sap-ushell-config"] = {
defaultRenderer : "fiori2",
renderers: {
fiori2: {
componentData: {
config: {
search: "hidden"
}
}
}
},
applications: {
"ChangeandRequestManagement-display": {
additionalInformation: "SAPUI5.Component=charm",
applicationType: "URL",
url: "../",
description: "Approval app for ChaRM",
title: "Change and Request Management"
}
}
};
</script>
<script src="../test-resources/sap/ushell/bootstrap/sandbox.js" id="sap-ushell-bootstrap"></script>
<!-- Bootstrap the UI5 core library -->
<script id="sap-ui-bootstrap"
src="../resources/sap-ui-core.js"
data-sap-ui-libs="sap.ushell, sap.collaboration, sap.m, sap.ui.layout"
data-sap-ui-theme="sap_belize"
data-sap-ui-preload="async"
data-sap-ui-compatVersion="edge"
data-sap-ui-frameOptions='allow'> // NON-SECURE setting for testing environment
</script>
<script>
sap.ui.getCore().attachInit(function() {
// initialize the ushell sandbox component
sap.ushell.Container.createRenderer().placeAt("content");
});
</script>
</head>
<!-- UI Content -->
<body class="sapUiBody" id="content">
</body>
neo_app.json:
{
"routes": [
{
"path": "/webapp/resources",
"target": {
"type": "service",
"name": "sapui5",
"entryPath": "/resources"
},
"description": "SAPUI5 Resources"
},
{
"path": "/webapp/test-resources",
"target": {
"type": "service",
"name": "sapui5",
"entryPath": "/test-resources"
},
"description": "SAPUI5 Test Resources"
},
{
"path": "/resources",
"target": {
"type": "service",
"name": "sapui5",
"entryPath": "/resources"
},
"description": "SAPUI5 Resources"
},
{
"path": "/test-resources",
"target": {
"type": "service",
"name": "sapui5",
"entryPath": "/test-resources"
},
"description": "SAPUI5 Test Resources"
},
{
"path": "/HANAMDC4",
"target": {
"type": "destination",
"name": "HANAMDC4"
},
"description": "HANA_MDC_4"
}
],
"cacheControl": [
{
"directive": "private",
"maxAge": 0,
"path": "**.html"
},
{
"directive": "private",
"maxAge": 0,
"path": "sap-ui-cachebuster-info.json"
},
{
"directive": "public",
"maxAge": 31536000
}
]
}