2009-08-06 14 views
1

私はここでぼんやりと明白なものを紛失しているかもしれません(私はそう思っています).....私はいくつかのトリガーとアクションで構成されるDrupal 6のモジュールを作成しています。それは、最も簡単なのです、それはで構成されて形成:Drupal「電子メールを送信」先進的なアクション

  1. いくつかの基準をチェックする行動基準が真である(一度にトリガする必要がありますイベントユーザーあたり月)、各ユーザのために解雇され
  2. トリガー

サイト管理者は開発者ではないため、私はDrupalのトリガー/アクションインタフェースを使用してできるだけ管理したいと思います。この計画では、cronトリガーを使用して1でアクションを発生させ、各ユーザーのトリガーを起動します。サイト管理者は、アクションインターフェースを介して電子メール送信アクションを作成し、2からトリガーまで接続することができます。

私が頭を悩ますことができない部分は、指定された - ユーザートリガーは、cronによって実行されるアクション(つまり、ユーザーコンテキストではない)から起動されます - ここで使用できる変数をどのように渡すことができますか?

おかげで、

答えて

1

Triggersactionsない他の方法で回避。

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); 
} 
+0

OKのような

何かをuser_loadをやってそれらthrhoughあなたは電子メールで送信したいユーザーやループを照会し、その後actions_doすることができます直接アクション。しかし、電子メールアドレスとしてcontext_userを使用するために、インターフェース内から「電子メールを送信する」アクションをどのように作成するのでしょうか? – Macros

+0

私はそれを調べなければなりませんが、上記のコードでは、アクションが懸念されている限り、$ userコンテキストを扱っているだけなので、違いはありません。 –

+0

最後に、このコードを振り返ってみると、トークン化された電子メールを送信するためにトークンモジュールと一緒にうまく機能しました。 – Macros

関連する問題