Drupal 'Send Email' расширенное действие - PullRequest
1 голос
/ 06 августа 2009

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

  1. Действие, которое проверяет некоторые критерии (событие, которое должно запускаться раз в месяц для каждого пользователя)
  2. Триггер, который срабатывает для каждого пользователя, для которого выполняется критерий

Мне бы хотелось, чтобы как можно больше управлялось через интерфейс триггеров / действий в Drupal, поскольку администратор сайта не является разработчиком. План состоит в том, чтобы использовать триггер cron для запуска действия в 1., которое затем будет запускать триггер для каждого пользователя. После этого администратор сайта сможет создать действие «Отправить письмо» через интерфейс действий и подключить его к триггеру из 2.

Часть, которую я не могу понять - это то, как будет указан получатель электронной почты - пользовательский триггер будет запущен из действия, выполняемого cron (т.е. не в любом пользовательском контексте) - как я могу передать переменная, которая может быть использована здесь?

Спасибо

1 Ответ

1 голос
/ 07 августа 2009

Триггеры Пожар Действия Не наоборот.

Пользователь, которого вы передаете actions_do , не должен быть зарегистрированным пользователем. Вы можете запросить пользователей, которым вы хотите отправить электронное письмо, и выполнить через них цикл user_load , а затем Actions_do

.

что-то вроде

foreach ($user_ids as $uid) {
  $context_user = user_load(array('uid' => $uid));
  $context = array(
    'hook' => 'myhook',
    'op' => $op,
    'user' => $context_user,
  );
  actions_do(array_keys($aids), $context_user, $context);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...