Как использовать правила для отправки электронной почты всем пользователям с одинаковым значением поля в некотором списке выбора?


Когда пользователи регистрируются на моем сайте, они выбирают свое Государство происхождения.

Используя правила , я хотел бы настроить правило, которое отправляет электронное письмо всем пользователям из одного и того же штата, когда пользователь из этого штата редактирует свой профиль.

Возможно ли это с помощью Правил или есть другой подход?

Author: Pierre.Vriens, 2014-10-31

2 answers

Ничего не зная о вашей сущности и настройке поля, я не могу дать вам точные правила, которые будут работать, однако это возможно, и я могу дать вам псевдо-правило:

  • Установите модуль бонусный пакет правил .
  • Установите модуль условные правила (я думаю, что вам это нужно, но я на самом деле не просматриваю сайт для подтверждения).
  • Создайте представление, в котором перечислены все пользователи с контекстным фильтром поля состояния. - Поэтому, когда вы называете вид с определенное состояние вы получаете для всех пользователей, которые выбрали это состояние.
  • Событие : Перед сохранением профиля пользователя.
  • Действие : Действие бонусного пакета правил "Загрузить список пользователей с представлениями". Используйте представление списка адресов электронной почты пользователей, созданное ранее, и передайте значение состояния из нового объекта пользователя (после редактирования).
  • Действие : Выполните цикл по списку пользователей, загруженному из представления.
  • Действие : В цикле списка пользователей отправьте электронное письмо в цикл объект пользователя.

Это также отправит электронное письмо пользователю, который фактически меняет свой профиль. если вы хотите исключить их, вы можете либо добавить дополнительные условия в правило для проверки измененного объекта пользователя, либо добавить другой контекстный фильтр в представление для uid, установите флажок в этом контекстном поле, чтобы исключить этого пользователя из результатов, а затем также передайте uid в качестве контекстного фильтра в правиле.

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

 4
Author: rooby, 2014-10-31 19:30:43

Да, это возможно с Правилами , если они объединены с Представлениями массовых операций , как более подробно описано ниже...

То, что вам на самом деле нужно сделать, похоже на то, что показано в видео о Использовании VBO для загрузки списка объектов в правила, начиная примерно с 5:30 до 11:30. Вот краткое изложение того, что показано в этом видео (цитата со связанной страницы):

  • Вам нужно представление, в котором перечислены сущности, с которыми вы хотите работать в Правилах. Примечание что вам не нужно отображение вида – и, возможно, даже лучше его не иметь, если вы не хотите, чтобы вид где-то отображался.
  • Однако вам нужно одно поле массовых операций. Поле Тип массовых операций определяет, какой тип сущности будет отправлен в Правила. Обратите внимание, что вам не нужно включать какие–либо действия для этого поля - достаточно, чтобы оно присутствовало.
  • Вам нужно правило, которое в качестве действия загружает сущности из VBO. (Это доступно в разделе "Массовые просмотры группа "операции".) Все дисплеи просмотра, содержащие по крайней мере одно поле VBO, будут доступны для выбора.
  • Действие предоставляет список сущностей, которые можно использовать так же, как и другие списки в Правилах. Объединяйтесь с планировщиком циклов, действий и правил, чтобы добиться потрясающих результатов.

В вашем случае вы хотите начать со списка VBO всех пользователей, которых вы хотите обработать (= "все пользователи из одного и того же состояния ", как в вашем вопросе). И для каждого пользователя в списке вы хотите Действие правил должно быть "отправить электронное письмо" (вместо "удалить липкое").

Легко, нет? Счастливый VBO правилами... (или Правила - в сочетании с VBO, если вы предпочитаете)!

 1
Author: Pierre.Vriens, 2017-01-09 17:18:06