2. Определение шаблона

В этом разделе вы создадите шаблоны, которые используются для уведомления создателя бронирования: сначала тему, затем тело письма.

Создание шаблона темы

Перейдите в экран Шаблоны сообщений и нажмите Создать.

Укажите следующие параметры:

  • Название: Booking Email Subject

  • Код: booking-email-subject. Этот код будет использоваться позже для программного обращения к шаблону.

  • Тип: Текст

  • Содержимое: введите содержимое шаблона в редакторе

    Booking confirmation for ${booking.title}

Сохраните шаблон.

Параметры шаблона темы

На вкладке Параметры добавьте параметр, который использует шаблон.

Настройте параметр booking следующим образом:

  • Имя: Booking

  • Алиас: booking

  • Тип: Entity

  • Сущность: Booking

  • Значение по умолчанию: не задавайте

После настройки параметра нажмите Предварительный просмотр. Предварительный просмотр использует это значение для рендеринга шаблона и помогает обнаружить отсутствующие параметры до использования шаблона в приложении.

При отправке email приложение передает значение параметра из кода, как показано в Генерация email из шаблонов.

Создание шаблона тела письма

Далее создайте шаблон для тела сообщения. Нажмите Создать и укажите следующие параметры:

  • Название: Booking Email Body

  • Код: booking-email-body. Этот код будет использоваться позже для программного обращения к шаблону.

  • Тип: HTML

  • Содержимое: используйте редактор для создания шаблона или скопируйте код ниже.

    template body
    Исходный код шаблона
    <body>
      <div style="box-sizing: border-box; max-width: 600px; margin: 32px auto; background: #ffffff; border-radius: 10px; overflow: hidden; border: 1px solid #e5e7eb;">
        <div style="box-sizing: border-box; background: #2563eb; color: #ffffff; padding: 24px;">
          <h2 style="box-sizing: border-box; margin: 0; border: 0px solid white; color: black;">
            <span style="box-sizing: border-box; border: 0px solid #fef9f9; color: #fdfdfd;">Booking confirmed</span>
          </h2>
        </div>
    
        <div style="box-sizing: border-box; padding: 24px;">
          <p style="box-sizing: border-box;">
            Hello ${booking.creator.firstName!"Guest"},
          </p>
    
          <p style="box-sizing: border-box;">
            Your booking for
            <strong style="box-sizing: border-box;">${booking.title!"booking"}</strong>
            was successful.
          </p>
    
          <div style="box-sizing: border-box; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; margin: 20px 0;">
            <p style="box-sizing: border-box; margin: 0 0 8px;">
              <strong style="box-sizing: border-box;">Start:</strong>
              ${booking.startDate?datetime("yyyy-MM-dd'T'HH:mm")?string.medium}
            </p>
    
            <p style="box-sizing: border-box; margin: 0 0 8px;">
              <strong style="box-sizing: border-box;">End:</strong>
              ${booking.endDate?datetime("yyyy-MM-dd'T'HH:mm")?string.medium}
            </p>
    
            <p style="box-sizing: border-box; margin: 0;">
              <strong style="box-sizing: border-box;">Booking date:</strong>
              ${today?date?string.medium}
            </p>
          </div>
    
          <p style="box-sizing: border-box;">
            Have a nice day,
          </p>
    
          <p style="box-sizing: border-box;">
            <strong style="box-sizing: border-box;">Developer team</strong><br style="box-sizing: border-box;">
            <a href="https://www.jmix.io" style="box-sizing: border-box; color: #2563eb;">www.jmix.io</a>
          </p>
        </div>
      </div>
    </body>

Сохраните шаблон.

Параметры шаблона тела письма

На вкладке Параметры добавьте параметры, которые использует шаблон.

Первый параметр - booking. Поскольку в предыдущем разделе вы создали сущность Booking, настройте его так:

  • Имя: Booking

  • Алиас: booking

  • Тип: Entity

  • Сущность: Booking

  • Значение по умолчанию: выберите экземпляр Booking

Второй параметр - today. Настройте его так:

  • Имя: Today

  • Алиас: today

  • Тип: Дата и время

  • Включите флажок Текущая дата/время по умолчанию.

После настройки параметров нажмите Предварительный просмотр. Предварительный просмотр использует эти значения для рендеринга шаблона и помогает обнаружить ошибки разметки и отсутствующие параметры до использования шаблона в приложении.

При отправке email приложение передает значения параметров из кода, как показано в Генерация email из шаблонов.