4. Продвинутые уведомления на основе шаблонов
Прежде чем мы начнем, убедитесь, что установлено дополнение Notifications. Если оно еще не установлено, установите его перед продолжением.
В этом разделе вы:
- 
Настроите дополнение Notifications. 
- 
Создадите шаблон в формате Текстс помощью дизайнера шаблонов.
- 
Добавите параметры в шаблон. 
- 
Создадите уведомление, использующее этот шаблон, демонстрируя его практическое применение. 
Настройка дополнения Notifications
Подробный пример настройки дополнения Notifications можно найти в разделе Конфигурация. Здесь же мы представим краткий обзор основных шагов.
Выполните следующие действия:
- 
Создайте набор экземпляров NotificationTypeи зарегистрируйте их черезNotificationTypesRepositoryв вашем главном классе приложения:@Autowired private NotificationTypesRepository notificationTypesRepository; @EventListener public void onApplicationContextRefreshed(final ContextRefreshedEvent event) { notificationTypesRepository.registerTypes( new NotificationType("info", "INFO_CIRCLE"), new NotificationType("warn", "WARNING") ); }
- 
Добавьте компонент индикатора уведомлений в файл main-view.xml:<mainView xmlns="http://jmix.io/schema/flowui/main-view" xmlns:ntf="http://jmix.io/schema/notifications/ui" title="msg://MainView.title"> <navigationBar> <header id="header" classNames="jmix-main-view-header"> <drawerToggle id="drawerToggle" classNames="jmix-main-view-drawer-toggle" themeNames="contrast" ariaLabel="msg://drawerToggle.ariaLabel"/> <h1 id="viewTitle" classNames="jmix-main-view-title"/> </header> <ntf:notificationsIndicator id="ntfIndicator" classNames="me-m"/> </navigationBar>
Создание шаблона сообщения
Запустите приложение. Перейдите в экран Шаблоны сообщений. Нажмите кнопку Создать, чтобы начать создание нового шаблона.
После нажатия на кнопку Создать откроется дизайнер шаблонов. Настройте шаблон следующим образом:
- 
Название: введите понятное название для шаблона, например, Booking Notification.
- 
Код: установите код шаблона равным booking-notification.
- 
Тип: выберите Plain text в качестве типа шаблона. 
- 
Содержание: определите содержание шаблона: Hello ${booking.creator.firstName!"Guest"}! Thank you for booking your date and time for ${booking.title}. Your time starts at ${booking.startDate?datetime} and ends at ${booking.endDate?datetime} The booking took place ${today?date}. Have a nice day, Developer team. Developer www.jmix.io
Этот шаблон отформатирован с использованием плейсхолдеров и синтаксиса шаблонизатора Apache FreeMarker.
 
Добавление параметров шаблона
Перейдите на вкладку Параметры в дизайнере шаблонов. Нажмите кнопку Создать. Укажите следующие данные параметра:
- 
Название: Название параметра, которое будет отображаться в форме ввода параметров: Booking.
- 
Алиас параметра: Уникальный идентификатор, используемый для ссылки на параметр в шаблоне: booking.
- 
Тип: Тип данных параметра. Выберите тип Сущность.
- 
Сущность: Выберите сущность Booking, которая будет использоваться в качестве параметра.
 
Нажмите кнопку OK.
Создайте параметр Today и установите для него тип Дата:
 
После того как шаблон настроен, сохраните его.
Создание уведомления
Перейдите в экран Оповещения. Нажмите кнопку Создать оповещение, чтобы начать создание нового уведомления. Настройте уведомление следующим образом:
- 
Тема: тема уведомления - Booking information.
- 
Тип: тип уведомления, который вы создали ранее в этом разделе. Выберите Info.
- 
Получатели: список получателей уведомления. Начните вводить имя пользователя в поле и выберите подходящих пользователей из списка. 
- 
Установите флажок Использовать шаблон сообщения. Ниже появится поле выбора шаблона.   
- 
Нажмите кнопку … в поле Шаблон сообщения. 
- 
Откроется диалоговое окно выбора шаблона сообщения. Выберите ранее созданный шаблон Booking Notificationи нажмите кнопку Выбрать.  
- 
После этого появится диалоговое окно с запросом на ввод значений для параметров, которые вы ранее определили для шаблона. Заполните необходимые поля соответствующими значениями. Нажмите OK.   
- 
После нажатия кнопки OK в диалоговом окне создания оповещения, уведомление будет сохранено и отображено указанному пользователю. 
Просмотр уведомления
Войдите в систему как пользователь Mari.
| Обратите внимание: для просмотра уведомлений пользователь  
 | 
Найдите индикатор уведомлений, расположенный в верхнем правом углу главного экрана, и нажмите на него. Появится диалоговое окно In-app оповещения, отображающее список непрочитанных или последних оповещений:
 
Дважды щелкните по уведомлению, чтобы просмотреть его полное содержание:
 
Вы заметите, что значения параметров, которые вы указали при создании уведомления, были автоматически вставлены в соответствующие плейсхолдеры внутри шаблона сообщения, персонализируя содержание уведомления.
Резюме
В этом разделе вы успешно:
- 
Настроили дополнение Notifications. 
- 
Создали многократно используемый шаблон сообщения в формате Текстс помощью дизайнера шаблонов.
- 
Определили параметры для шаблона сообщения, обеспечив динамическое содержание. 
- 
Создали и отправили уведомление, использующее шаблон сообщения, продемонстрировав практическое применение расширенных функций уведомлений.