Отправить письмо списку пользователей при публикации ноды

Главные вкладки

Аватар пользователя Shipovnix Shipovnix 13 сентября 2017 в 11:52

Еще один нетривиальный (для меня) вопрос.
У учетных записей пользователей есть поле - ссылка на термин словаря "Комплекс". У материалов типа "Заявки" тоже такое же поле - ссылка на термин того же словаря.
Необходимо при публикации ноды "Заявки" отправить e-mail на адреса всех тех пользователей, которые имеют совпадение по термину словаря "Комплекс" и в ноде, и в учетке.
Пока только тупо пялюсь в Rules и не соображаю, как это реализовать by drupalway.
Буду благодарен за помощь.

Лучший ответ

Аватар пользователя bumble bumble 13 сентября 2017 в 15:54
1
  • Записать ID термина в переменную.
  • Передать токеном в настройке лупа по VBO.

..как-то так.

Комментарии

Аватар пользователя Shipovnix Shipovnix 13 сентября 2017 в 12:40

Нет, не для Челнов, другой город Smile
А как в подробностях сравнивать? В рулсах вроде стал ориентироваться, но здесь - затык.
Публикуется нода, значение поле термина словаря "Комплексы", допустим, "КСПД". Надо отправить письмо всем пользователям, у которых аналогичное поле термина тоже имеет значение "КСПД". То есть, вроде как, нужно сначала получить отобранный список этих пользователей, перебрать их с отправкой письма... Уфф, башка кругом.

Аватар пользователя fairrandir fairrandir 13 сентября 2017 в 13:06
1

Вообще говоря, как в рулсах это сделать я понятия не имею. По идее там есть какие-то циклы, условия, и так далее.
Но проще накатать свой модулёк и цепляться по hook_node_insert

Аватар пользователя Shipovnix Shipovnix 13 сентября 2017 в 14:04

Спасибо, как раз по этим мануалам и учился работе с Rules. Но мой случай несколько глубже описываемых. Не могу справиться.

Аватар пользователя bumble bumble 13 сентября 2017 в 14:09
1

Ну, тогда Вы уже читали о том как соорудить список пользователей используя Views, в котором Вы можете использовать обычные фильтры, а так же контекстные (в которые передавать необходимые значения из правил).

Или с чем у Вас справится не получается? Опишите конкретнее.

Аватар пользователя Shipovnix Shipovnix 22 сентября 2017 в 8:10

Спасибо. Все получилось как надо, но пришлось поиграться.
Во-первых, не работал луп по VBO-вьюхе. Применил патч из https://www.drupal.org/node/2853029#comment-11949835
Во-вторых, не с первого раза получилось с контекстным фильтром вьюхи. Работает решение: в экшене VBO передать TID поля ноды в созданную вьюху, во вьюхе - связь с термином и контекстный фильтр по TID из "Необработанного значения из URL".