В 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.