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. -
Тип: выберите тип Текст.
-
Содержимое: задайте содержимое шаблона:
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
-
Тип: Entity
-
Сущность: Booking
-
-
Today
-
Имя: Today
-
Алиас: today
-
Тип: Date
-
После настройки шаблона сохраните его.
Создание уведомления
Перейдите в экран Уведомления. Нажмите кнопку Создать уведомление. Настройте уведомление следующим образом:
-
Тема: тема уведомления -
Booking information. -
Тип: выберите тип уведомления, созданный ранее в этом разделе. Выберите
Info. -
Получатели: список получателей уведомления. Начните вводить имя пользователя в поле и выберите нужных пользователей из списка.
-
Установите флажок Использовать шаблон сообщения и выберите ранее созданный шаблон
Booking Notification. -
Введите значения параметров.
-
Нажмите ОК. После этого уведомление будет сохранено и показано указанному пользователю.
Просмотр уведомления
Войдите в систему как пользователь Mari.
|
Обратите внимание: чтобы просматривать уведомления, пользователь
|
Найдите индикатор уведомлений в правом верхнем углу главного экрана и откройте уведомление, чтобы просмотреть его содержимое:
Вы увидите, что значения параметров, указанные при создании уведомления, автоматически подставились в соответствующие плейсхолдеры шаблона, сделав содержимое уведомления персонализированным.