Как использовать правила для отправки электронной почты всем пользователям с одинаковым значением поля в некотором списке выбора?
Когда пользователи регистрируются на моем сайте, они выбирают свое Государство происхождения.
Используя правила , я хотел бы настроить правило, которое отправляет электронное письмо всем пользователям из одного и того же штата, когда пользователь из этого штата редактирует свой профиль.
Возможно ли это с помощью Правил или есть другой подход?
2 answers
Ничего не зная о вашей сущности и настройке поля, я не могу дать вам точные правила, которые будут работать, однако это возможно, и я могу дать вам псевдо-правило:
- Установите модуль бонусный пакет правил .
- Установите модуль условные правила (я думаю, что вам это нужно, но я на самом деле не просматриваю сайт для подтверждения).
- Создайте представление, в котором перечислены все пользователи с контекстным фильтром поля состояния. - Поэтому, когда вы называете вид с определенное состояние вы получаете для всех пользователей, которые выбрали это состояние.
- Событие : Перед сохранением профиля пользователя.
- Действие : Действие бонусного пакета правил "Загрузить список пользователей с представлениями". Используйте представление списка адресов электронной почты пользователей, созданное ранее, и передайте значение состояния из нового объекта пользователя (после редактирования).
- Действие : Выполните цикл по списку пользователей, загруженному из представления.
- Действие : В цикле списка пользователей отправьте электронное письмо в цикл объект пользователя.
Это также отправит электронное письмо пользователю, который фактически меняет свой профиль. если вы хотите исключить их, вы можете либо добавить дополнительные условия в правило для проверки измененного объекта пользователя, либо добавить другой контекстный фильтр в представление для uid, установите флажок в этом контекстном поле, чтобы исключить этого пользователя из результатов, а затем также передайте uid в качестве контекстного фильтра в правиле.
Я бы сделал это последнее, потому что это менее сложное правило и я бы предположил, что для запуска потребуется меньше ресурсов.
Да, это возможно с Правилами , если они объединены с Представлениями массовых операций , как более подробно описано ниже...
То, что вам на самом деле нужно сделать, похоже на то, что показано в видео о Использовании VBO для загрузки списка объектов в правила, начиная примерно с 5:30 до 11:30. Вот краткое изложение того, что показано в этом видео (цитата со связанной страницы):
- Вам нужно представление, в котором перечислены сущности, с которыми вы хотите работать в Правилах. Примечание что вам не нужно отображение вида – и, возможно, даже лучше его не иметь, если вы не хотите, чтобы вид где-то отображался.
- Однако вам нужно одно поле массовых операций. Поле Тип массовых операций определяет, какой тип сущности будет отправлен в Правила. Обратите внимание, что вам не нужно включать какие–либо действия для этого поля - достаточно, чтобы оно присутствовало.
- Вам нужно правило, которое в качестве действия загружает сущности из VBO. (Это доступно в разделе "Массовые просмотры группа "операции".) Все дисплеи просмотра, содержащие по крайней мере одно поле VBO, будут доступны для выбора.
- Действие предоставляет список сущностей, которые можно использовать так же, как и другие списки в Правилах. Объединяйтесь с планировщиком циклов, действий и правил, чтобы добиться потрясающих результатов.
В вашем случае вы хотите начать со списка VBO всех пользователей, которых вы хотите обработать (= "все пользователи из одного и того же состояния ", как в вашем вопросе). И для каждого пользователя в списке вы хотите Действие правил должно быть "отправить электронное письмо" (вместо "удалить липкое").
Легко, нет? Счастливый VBO-с правилами... (или Правила - в сочетании с VBO, если вы предпочитаете)!