web-dev-qa-db-ja.com

プログラムでアクションセットを実行する(ルールモジュール)

ルールUIを使用していくつかのアクションセットを定義したいが、それらのアクションをカスタムモジュールからプログラムで実行したい。

コードでアクションを実行し、必要な引数を渡す方法(この場合はノードのみ)。

ありがとう!

22
valderama

ルールコンポーネントとして設定した場合は、 rules_invoke_component を使用できます。代わりに、イベントを呼び出すこともできます。これにより、 rules_invoke_eventを使用して複数のルールをトリガーできます

どちらも最初に名前/ IDを渡し、残りの引数が渡されるという点で似ているため、次のようになります。

 rules_invoke_component('name', $node);

カスタムコンポーネントルールに複数のパラメーターがある場合、1つずつ渡し、例としてコンマで区切ります。

rules_invoke_component('rules_save_search_send_activation_sms',  'paramval1', 'paramval2', ....);

適切にそれを行う必要があります。これも、ルール/コンポーネントがどのように定義および構成されているかに依存します。

25
googletorp