Настройка почтовых уведомлений у веб-форм
Idea Hub предоставляет функциональность для создания email-уведомлений в формате HTML, которые будут включать данные созданных идей или заключений:
- Уведомления о созданных идеях отправляются заинтересованным лицам, когда пользователь завершил создание идеи.
- Уведомления для заключений отправляются заинтересованным лицам, когда сотрудник Центра RPA-компетенций отклоняет или одобряет заявку (идею).
Перед тем, как перейти к настройкам уведомлений, вы должны убедиться, что у вас включен модуль SMPT и сконфигурирован SMPT-сервер. Инструкцию по настройке SMPT см. здесь.
Настройка уведомлений для идей и заключений
Чтобы добавить к веб-форме обработчик почтового уведомления:
-
В панели административного меню перейдите в раздел Структура > Веб-формы.
-
В строке с нужной веб-формой (Идея или Заключение) в столбце Операции выберите пункт Настройки.
-
В открывшейся форме перейдите на вкладку Email/Handlers и в верхнем правом углу нажмите + Add email. Сбоку откроется форма добавления электронной почты:
Чтобы ваше уведомление отправлялось по почте, нужно обязательно настроить следующие параметры:
Параметр | Описание | Пример заполнения |
---|---|---|
Название | Техническое поле, которое будет отображаться только в настройках. Значение указывается в текстовом формате | Электронная почта |
Send To > To email | Адрес получателя. Параметр имеет множество вариантов заполнения, которые можно увидеть в выпадающем списке. По умолчанию используется значение в виде токена [site:mail] — административный email, установленный в основных настройках сайта | [site:mail] |
Send From > From email | Адрес отправителя. Параметр имеет множество вариантов заполнения, которые можно увидеть в выпадающем списке | [site:mail] |
Сообщение > Содержимое | Шаблон письма. Вы можете использовать шаблон по умолчанию или использовать пользовательский шаблон | <p>Submitted on [webform_submission:created]</p><p>Submitted by: [webform_submission:user]</p><p>Submitted values are:</p>[webform_submission:values] |
После заполнения параметров нажмите Сохранить.
Расширенная информация о настройках
Пользовательский адрес отправителя/получателя
В полях To email или From email можно выбрать значение Custom To/From email address
— пользовательский адрес электронной почты. Пример:
В этом случае значением выступает конкретный адрес или токен. Вы также можете указать несколько значений, разделенных запятой.
Токен — это ссылка на значение, которое будет подставлено автоматически. Например, если адрес, куда письмо должно быть отправлено, заранее неизвестен и зависит от того, как будет заполнена идея.
Список токенов можно посмотреть нажав на ссылку Доступные токены в соответствующем блоке настроек. Пример:
Чаще всего в письме будут использоваться токены вида [webform_submission:values:?]
, где за ?
отвечают значения элементов веб-формы.
Пример: в веб-форме Идея есть поле Краткое название, ключ (ID) которого это title
. Конечным токеном для значения этого поля будет [webform_submission:values:title]
.
Токены могут отдавать не только значение но и, например, HTML-шаблон. Чтобы из текстового поля получить чистое значение, надо добавить суффикс :raw
. В итоге, чтобы получить полное чистое значение данного поля, надо указать токен [webform_submission:values:title:raw]
.
Текстовые или числовые значения полей формы можно получить достаточно просто. Для получения данных пользователя, процесса, департамента, которые добавлены как поля на форму, нужен суффикс :entity
, а далее суффиксы полей сущности.
Так, если у вас на форме есть поле Ключевой пользователь с ключом owner
, то для получения имени нужно использовать токен [webform_submission:values:owner:entity:field_name]
.
Если поле owner
принимает несколько значений, то перед :entity
используйте индекс. Индексы стартуют от 0 и до максимального числа значений минус 1. То есть, если максимальное количество значений 3, то индексами будут: 0, 1, 2. Если у поля множественный выбор, но индекс не указан, то он будет равен 0.
Пример: поле Подразделения, с ключом areas
, могут принимать несколько значений. Для получения кодов первых двух департаментов нужно использовать следующие два токена: [webform_submission:values:areas:0:entity:field_code], [webform_submission:values:areas:1:entity:field_code]
.
Итого значение для поля To email выбирается по необходимости:
- либо конкретный электронный адрес пользователя;
- либо токен вида
[webform_submission:values:owner:entity:mail]
— почта ключевого пользователя процесса; - либо токен вида
[current-user:mail]
— почта текущего пользователя, т.е. того, кто создает идею.
Опциональные поля типа CC email, BCC email, имеют те же опции, что и поля To/From email, поэтому описанные настройки подходят и для них.
Тема и содержимое письма
В блоке настроек Сообщение есть поля Тема и Содержимое:
Тема, как и поле Send To, имеет список значений, которые можно автоматически подставить. При этом значение Custom subject
принимает токен любого вида.
Содержимое имеет выбор между значениями элементов веб-формы:
Custom body
— позволяет написать шаблон письма с помощью редактора текста CKEditor. Работают токены так же, как описано выше. Текст будет автоматически преобразован в HTML-формат.Twig template
— позволяет написать шаблон, используя HTML. Из-за того, что это чистый HTML, у вас будет больше возможностей, включая поддержку токенов. Но этот способ имеет свои особенности: для вызова токенов нужно использовать конструкцию:{{ webform_token('[webform_submission:values:?]', webform_submission, data, []) }}
.
Примеры писем с обоими форматами
Custom body:
Уважаемый(ая) [webform_submission:values:owner:entity:field_name] [webform_submission:values:owner:entity:field_name_middle] [webform_submission:values:owner:entity:field_name_last],
Вашему вниманию предлагается решение по идее роботизации, поданной через портал идей. Ниже представлена краткая информация по данной идее:
Название идеи: [webform_submission:values:title]
Описание: [webform_submission:values:process_description]
Подразделение: [webform_submission:values:areas:entity:name]
Ожидаемый эффект: [webform_submission:values:virtual_revenue_expected][webform_submission:values:revenue_expected][webform_submission:values:weekend_revenue_expected]
Если у вас возникнут вопросы или потребуется дополнительная информация, пожалуйста, свяжитесь с нами.
С уважением,
[current-user:display-name]
[current-user:field_department:entity:name]
[current-user:mail]
Twig template:
<p>Уважаемый(ая)
{{ webform_token('[webform_submission:values:owner:entity:field_name]', webform_submission, data, []) }} {{ webform_token('[webform_submission:values:owner:entity:field_name_middle]', webform_submission, data, []) }} {{ webform_token('[webform_submission:values:owner:entity:field_name_last]', webform_submission, data, []) }},
<br />
Вашему вниманию предлагается решение по идее роботизации, поданной через портал идей. Ниже представлена краткая информация по данной идее:
<br />
<br />
Название идеи: {{ webform_token('[webform_submission:values:title]', webform_submission, [], options) }}
<br />
Описание: {{ webform_token('[webform_submission:values:process_description]', webform_submission, [], options) }}
<br />
Подразделение: {{ webform_token('[webform_submission:values:areas:entity:name]', webform_submission, [], options) }}
<br />
Ожидаемый эффект: {{ webform_token('[webform_submission:values:virtual_revenue_expected]', webform_submission, [], options) }}{{ webform_token('[webform_submission:values:revenue_expected]', webform_submission, [], options) }}{{ webform_token('[webform_submission:values:weekend_revenue_expected]', webform_submission, [], options) }}
<br />
Ссылка на портал: {{ webform_token('[webform_submission:url:canonical]', webform_submission, [], options) }}
<br />
Если у вас возникнут вопросы или потребуется дополнительная информация, пожалуйста, свяжитесь с нами.
<br />
<br />
С уважением,
{{ webform_token('[current-user:display-name]', webform_submission, [], options) }}
<br>
{{ webform_token('[current-user:field_department:entity:name]', webform_submission, [], options) }}
<br />
{{ webform_token('[current-user:mail]', webform_submission, [], options) }}
</p>
Список использованных токенов и их значения
- [webform_submission:values:owner:entity:field_name] — имя пользователя из поля Ключевой пользователь.
- [webform_submission:values:owner:entity:field_name_middle] — отчество пользователя из поля Ключевой пользователь.
- [webform_submission:values:owner:entity:field_name_last] — фамилия пользователя из поля Ключевой пользователь. Эти поля можно заменить на одно короткое поле
display-name
, токен:[webform_submission:values:owner:entity:display-name]
. - [webform_submission:values:title] — поле Заголовок.
- [webform_submission:values:process_description] — поле Описание.
- [webform_submission:values:areas:entity:name] — имя департамента из поля Подразделения.
- [current-user:display-name] — имя/фамилия пользователя, который создает идею.
- [current-user:field_department:entity:name] — название департамента пользователя, который создает идею.
- [current-user:mail] — почта пользователя, который создает идею.
Важное дополнение
На текущий момент веб-форма Идея имеет поле Ключевой пользователь с ключом owner_1 вместо owner, а также тип поля Select other
. Этот тип не позволяет использовать у токена суффикс :entity
, а значит у вас не будет доступа к полям данного пользователя.
Чтобы это исправить, необходимо:
-
Перейти на страницу редактирования веб-формы Идея —
/admin/structure/webform/manage/idea
. -
Удалить поле owner_1:
-
Нажать кнопку Add element у элемента [who_flexbox]:
-
Выбрать Entity select, нажав Add element:
-
В новом окне заполнить поля Заголовок и Ключ. В поле Тип элемента для ссылки выбрать опцию User.
-
Внизу страницы нажать кнопку Сохранить.