Drupal'发送电子邮件'高级操作

时间:2009-08-06 16:43:50

标签: drupal

我可能会遗漏一些令人眼花缭乱的东西(我希望如此).....我正在Drupal 6中创建一个由一些触发器和动作组成的模块。在它最简单的形式,它包括:

  1. 检查某些条件的操作(每个用户每月需要触发一次的事件)
  2. 为每个用户触发的标准为
  3. 的触发器

    我希望尽可能通过Drupal中的触发器/操作界面进行管理,因为站点管理员不是开发人员。计划是使用cron触发器在1中触发动作,然后为每个用户触发一个触发器。然后,站点管理员将能够通过操作界面创建“发送电子邮件”操作,并将其从2连接到触发器。

    我无法理解的部分是如何指定电子邮件的收件人 - 用户触发器将从cron运行的操作中触发(即不在任何用户上下文中) - 我如何传入一个可以在这里使用的变量?

    谢谢,

1 个答案:

答案 0 :(得分:1)

Triggers解雇actions而不是相反。

您传递给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);
}