Модификация тела письма перед отправкой в Drupal

Рассмотрим два варианта, как зацепиться к отправляемым письмам и внести туда свои изменения.

Первый вариант заключается в прямом изменении тела письма перед отправкой. Для этого мы реализуем hook_mail_alter(&message).

MAIL ALTER хук

Переменная $message содержит весь набор данных, используемых при отправке письма. Там есть и имя модуля, и ключ письма, а также дополнительные данные, передаваемые в MailManagerInterface::mail как $params.

Рассмотрим гипотетический пример, подстановки некого кода верификации из учетной записи пользователя во время отправки сообщения о регистрации пользователя. Мы предполагаем, что было создано дополнительное поле для сущности userfield_verification_code.

Объявление токена

То, что мы делали в предыдущем примере можно реализовать, используя токены, которые являются частью ядра системы, начиная с 8й версии.

Давайте объявим токен [user:verification-code], и при использовании его в шаблоне письма, он автоматически будет заменяться значением, которое мы запрограммируем.

Хуки подсистемы токенов должны быть объявлены в файле MYMODULE.tokens.inc. Это hook_tokens_info и hook_tokens. Первый описывает новые токены, а второй их реализует.

Мало букафф? Читайте есчо !

Ошибка в Drupal Adding non-existent permissions to a role is not allowed. The incorrect permissions are "..."

Июль 25, 2023 г.

Такое иногда вылазит как следствие удаления кастомных классов/модулей, создающих собственные права или инициализирующие права через родительский модуль. Как это пофиксить? Права из роли не были удалены штатно, потому придется сделать следующее: ...

Читать

Программное создание статьи с переводом в Drupal

Август 10, 2023 г.

Допустим, вы получаете следующие данные - заголовок, текст статьи, и теги. При этом данные поставляются на двух языках - 'ru' и 'en'. Вам требуется программно сохранить статью и её перевод. Я полагаю, что уже активирован модуль Content Translation, ...

Читать

Подключить скрипт / библиотеку в шаблоне twig

Ноябрь 5, 2023 г.

Подключение скрипта или стилей "по-месту", на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости. От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать ...

Читать

Обновить path alias в таксономии

Октябрь 24, 2024 г.

Пример кода работы с entityQuery и Entity API. В данном примере мы пройдемся по синонимам терминов таксономии и произведем простую замену или создадим новый синоним согласно установленному в системе шаблону. В 8ке синонимы (path_alias) - это ...

Читать
 

Комментарии к «Модификация тела письма перед отправкой в Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: