2011-02-04 7 views
1

コード内でルールアクションを実行する方法はありますか?ルールを直接実行する(ルール+ワークフローを回避する)

特定のワークフロー状態が到着したときに作成者に電子メールを送信する一連のルールがあります。擬似ルールロジックで:

Event: After updating existing content 
IF NOT [node:workflow-old-state-name] == [node:workflow-current-state-name] 
AND [node:workflow-current-state-name] == Published 
DO E-mail Author 

これはうまくいきます。それ以外のところでは、私はworkflow_execute_transitionを直接呼びます。それはAfter updating existing contentではないので、私のルールは実行されません。私はworkflow_execute_transitionに電話した後、ルールのアクション(条件をバイパス)を手動で実行したいと思います。可能?

これはすべて回避策のような感じです。なぜワークフローの状態が変更された場合、ルールにトリガがないのですか?ワークフローは、コアのトリガーモジュールで適切に表現されますが、ここではルールではありません。

答えて

0

まあ...ルールにはWorkflow state has changedというイベントがあります。私はちょうど後ろのバージョンだった。

この問題を解決すると、workflow_execute_transitionが正しくルールを起動します。

多くのクリーナー!

関連する問題