Настройка пользовательской темы для приложения Sap Cloud UI5
Я пытался следовать каждому руководству и учебнику по настройке пользовательской темы в Интернете без какой-либо удачи.
У меня есть простое приложение UI5, настроенное в SAP Cloud Platform, и настраиваемая тема, также настроенная в SAP Cloud Platform в службе дизайнера тем. Приложение было связано со ссылкой '/doorway/' (не фактической развернутой ссылкой SCP), и я вижу предварительный просмотр в конструкторе тем, который выглядит правильно.
Моя проблема связана с привязкой темы к моему приложению. Тема опубликована и запущена, но использование ссылки на URL-адрес или сценарий начальной загрузки в приложении UI5 не приводит к добавлению темы в мое приложение.
Это скрипт начальной загрузки в файле index.html:
<script id="sap-ui-bootstrap"
src="https://sapui5.hana.ondemand.com/1.48.9/resources/sap-ui-cachebuster/sap-ui-core.js"
data-sap-ui-appCacheBuster="./"
data-sap-ui-libs="sap.m"
data-sap-ui-theme="customethemename"
data-sap-ui-theme-roots='{"customethemename" : "https://customethemename-accountid.dispatcher.hana.ondemand.com/UI5/"}'
data-sap-ui-compatVersion="edge"
data-sap-ui-resourceroots='{"my.app.name": ""}'>
</script>
Это файл neo-app.json:
{ "path": " /themedesigner",
"target": {
"type": "application",
"name": "themedesigner"
},
"description": "Route for theme designer"
}
1 ответ
Обычно приложение SAP UI5 имеет темы по умолчанию blue_crystal и gold_reflection themes. Но если вы хотите применить другую тему, вы можете создать один файл темы и напрямую применить его к приложению.
Шаги для применения пользовательской темы следующие:
- Создать ресурсы папки в папке WebContent в вашем приложении;
- Пользовательский zip-файл темы должен иметь папки "Base" и "UI5";
- Загрузите содержимое папки UI5 (должна быть папка с именем "sap");
- Скопируйте вышеуказанные файлы в созданную папку ресурсов;
Измените имя темы с sap_bluecrystal на CustomTheme в index.html;
<script id="sap-ui-bootstrap" src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js" data-sap-ui-libs="sap.m" data-sap-ui-theme="CustomThemeName" data-sap-ui-compatVersion="edge" data-sap-ui-resourceroots='{"ResourceRoots": ""}'> </script>
Добавьте маршрут к вам neo-app.json, если вы еще этого не сделали.
"routes": [ { "path": "/resources", "target": { "type": "service", "name": "sapui5", "version":"1.52.6", "preferLocal":true, "entryPath": "/resources" }, "description": "SAPUI5 Resources" } ]
Надеюсь, это поможет!