Еще один нетривиальный (для меня) вопрос.
У учетных записей пользователей есть поле - ссылка на термин словаря "Комплекс". У материалов типа "Заявки" тоже такое же поле - ссылка на термин того же словаря.
Необходимо при публикации ноды "Заявки" отправить e-mail на адреса всех тех пользователей, которые имеют совпадение по термину словаря "Комплекс" и в ноде, и в учетке.
Пока только тупо пялюсь в Rules и не соображаю, как это реализовать by drupalway.
Буду благодарен за помощь.
Отправить письмо списку пользователей при публикации ноды
Главные вкладки
Лучший ответ
1
- Записать ID термина в переменную.
- Передать токеном в настройке лупа по VBO.
..как-то так.
Комментарии
Rules. При публикации ноды сравнивать значения полей.
Не для Набережных Челнов сайт случаем?![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Нет, не для Челнов, другой город![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
А как в подробностях сравнивать? В рулсах вроде стал ориентироваться, но здесь - затык.
Публикуется нода, значение поле термина словаря "Комплексы", допустим, "КСПД". Надо отправить письмо всем пользователям, у которых аналогичное поле термина тоже имеет значение "КСПД". То есть, вроде как, нужно сначала получить отобранный список этих пользователей, перебрать их с отправкой письма... Уфф, башка кругом.
Вообще говоря, как в рулсах это сделать я понятия не имею. По идее там есть какие-то циклы, условия, и так далее.
Но проще накатать свой модулёк и цепляться по hook_node_insert
Мануал по рассылкам из рулзов.
UPD - и еще мануал по "правильным" циклам в тему.
Спасибо, как раз по этим мануалам и учился работе с Rules. Но мой случай несколько глубже описываемых. Не могу справиться.
Ну, тогда Вы уже читали о том как соорудить список пользователей используя Views, в котором Вы можете использовать обычные фильтры, а так же контекстные (в которые передавать необходимые значения из правил).
Или с чем у Вас справится не получается? Опишите конкретнее.
Да, читал. И здесь кроется вопрос: как я передам в фильтр вьюхи значение термина "КСПД"?
..как-то так.
Спасибо. Все получилось как надо, но пришлось поиграться.
Во-первых, не работал луп по VBO-вьюхе. Применил патч из https://www.drupal.org/node/2853029#comment-11949835
Во-вторых, не с первого раза получилось с контекстным фильтром вьюхи. Работает решение: в экшене VBO передать TID поля ноды в созданную вьюху, во вьюхе - связь с термином и контекстный фильтр по TID из "Необработанного значения из URL".