我可能会遗漏一些令人眼花缭乱的东西(我希望如此).....我正在Drupal 6中创建一个由一些触发器和动作组成的模块。在它最简单的形式,它包括:
我希望尽可能通过Drupal中的触发器/操作界面进行管理,因为站点管理员不是开发人员。计划是使用cron触发器在1中触发动作,然后为每个用户触发一个触发器。然后,站点管理员将能够通过操作界面创建“发送电子邮件”操作,并将其从2连接到触发器。
我无法理解的部分是如何指定电子邮件的收件人 - 用户触发器将从cron运行的操作中触发(即不在任何用户上下文中) - 我如何传入一个可以在这里使用的变量?
谢谢,
答案 0 :(得分:1)
您传递给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);
}