Как отправить письмо пользователю с правилами просмотра при прохождении даты?


Я создал поле даты для всех пользователей (в Drupal 7). Эта дата является окончанием подписки пользователя. Когда дата этого поля будет пройдена, я хочу отправить письмо пользователю, чтобы сообщить ему, что он может снова подписаться (для доступа к нашему веб-сайту).

Итак, я создал представление с правилами отображения (с правилами просмотра модулей). Я перечислил всех пользователей, у которых поле дата не пустое, и отфильтровал, чтобы прошла только дата. У меня есть 2 поля в этом представлении (имя пользователя и дата). Я отредактировал информацию о поле и включил свои 2 поля (Тип данных: пользователь и тип данных: дата):

enter image description here

После этого я создал правило, которое реагирует на событие "Задачи обслуживания Cron выполнены", и создал цикл просмотра правил отображения моего представления. В цикле я добавил 2 действия: измените значение даты, чтобы вывести пользователя из представления, и отправьте письмо этому пользователю:

enter image description here

Когда я запускаю cron, ничего не происходит. Дата такая не изменилось, и почта не отправляется. Я не знаю, какую конфигурацию я забыл. У вас есть идея, пожалуйста?

Спасибо за помощь мне.

Мое правило в формате экспорта:

{ "rules_relance_e_mail" : {
"LABEL" : "Relance e-mail",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "cron" : [] },
"DO" : [
  { "VIEW LOOP" : {
      "VIEW" : "dates_de_relances",
      "DISPLAY" : "views_rules_1",
      "ROW VARIABLES" : {
        "name" : { "name" : "Nom" },
        "field_date_de_relance" : { "field_date_de_relance" : "Date de relance" }
      },
      "DO" : [
        { "data_set" : { "data" : [ "field-date-de-relance" ], "value" : "+1 year" } },
        { "mail" : {
            "to" : [ "name:mail" ],
            "subject" : "Test relance",
            "message" : "Test mail",
            "language" : [ "name:language" ]
          }
        }
      ]
    }
   }
  ]
 }
}
Author: Pierre.Vriens, 2017-04-20

1 answers

Часть 1. Отправка электронного письма

Ваше мнение нуждается в уточнении...Похоже, у вас есть 1 результат просмотра (строка) для каждого пользователя, которого нужно отправить по электронной почте, и это нормально. Но в этом представлении должны быть поля (столбцы) для каждого из полей, которые вы хотите использовать в своих правилах для создания электронной почты. Таким образом, [name:mail] и [name:language] в ваших правилах действия должны быть заменены каким-либо столбцом в вашем представлении, чтобы сделать их доступными. Для этого вам, возможно, придется также добавить "отношение" в вашем представлении к "объекту пользователя" (чтобы например, становится доступным идентификатор электронной почты).

Взгляните на эти ответы для получения более подробной информации:

Часть 2. Сохранение измененной даты

Возможно, вам придется добавить дополнительное действие правил для "сохранения сущности", потому что вам нужно напомнить Правила модуль также позволяет сохранить дату, которую вы обновили.

 1
Author: Pierre.Vriens, 2017-04-20 10:06:14