В Fiori 2.0 SAP предлагает множество функций Fiori Launchpad. Одна функция помогает сэкономить место (на небольших устройствах, таких как телефоны). Приведенная выше ссылка инструктирует разработчика, как объединить заголовок приложения Fiori и адаптировать его с заголовком панели запуска Fiori.
Когда я следил за этим справочным документом, у меня возникли проблемы с тем, что он не всегда работает. К сожалению, в документе не содержится подробного описания проблемы и решения, с которыми вы можете столкнуться. Вот почему я создаю этот пост, чтобы отслеживать решение.
Контрольный список предварительных требований:
Если адаптация не работает для вас, убедитесь, что вы выполнили приведенный ниже контрольный список:
- Ваша панель запуска Fiori обновлена до версии 2.0
- Вы уже выполнили все шаги из справочного документа, чтобы разрешить адаптацию Fiori 2.0.
- Вы создаете приложение, используя шаблон из библиотеки Web IDE (не созданный вами).
Сделайте так, чтобы он работал для SAPUI5 версии 1.52 и новее:
Начиная с версии 1.56 SAPUI5, шаблон был переработан (они называют его «инновационным» шаблоном) с новым внешним видом, который устраняет строку заголовка основного и подробного представления, поэтому адаптация заголовка Fiori 2.0 больше не нужна.
С версией SAPUI5 ниже 1.44 адаптация заголовка Fiori 2.0 работает хорошо, если вы создаете проект с использованием шаблона.
А как насчет версии 1.52? Эта версия вызовет проблемы с адаптацией Fiori 2.0.
Версия 1.52 по-прежнему использует старый дизайн с планом этажа панели заголовка. Но с Fiori 2.0 Adaptation это не работает. Это нормально, когда вы запускаете приложение на рабочем столе. Но на мобильных устройствах у вас есть 2 заголовка: один из приложения и один из панели запуска Fiori. Что сбивает пользователя с толку и тратит впустую пространство маленького экрана телефона.
После тщательной проверки я обнаружил одну строку в manifest.json, из-за которой адаптация 2.0 не работает:
"rootView": { "viewName": "com.bosch.ps.ps_my_spec_mach.view.App", "type": "XML", "async": true, // this line make Fiori 2.0 adaptation not work "id": "app" },
Все, что вам нужно сделать, это удалить эту строку («async»: true), и она будет работать нормально.
Я не уверен, в чем причина этой проблемы. Я не вижу никакой связи между ними. Но «async: true» действительно приводит к тому, что адаптация Fiori 2.0 не работает для приложения sapui5 master-detail. Я буду искать его первопричину. А пока не стесняйтесь оставлять свой комментарий :)
Радость,
— V —
Обновление 10 октября 2018 г .:
Я проверил справочный документ о manifest.json и понял свойство async async. В сценарии, где мы определяем корневое представление с помощью async = true, мы указываем загрузчику загрузить корневое представление (в нашем случае App.view.xml) перед запуском Компонент приложения. Следовательно, я предполагаю, что асинхронная загрузка корневого представления заставляет Компонент не распознавать структуру приложения, потому что App.view.xml уже загружен, что делает Компонент не может объединить 2 заголовка в один. Это вызывает нашу проблему с адаптацией заголовка Fiori 2.0.