commerce 製品に関連するいくつかのイベントに作用する2つのルールを作成しました。
最初のは、参照ノード削除イベントで動作し、ノード削除時に製品を削除します。
2番目のは、 node_expire を使用して、期限切れイベント時にノードを削除します
期限切れのイベントを発生させるためにcronを実行すると、最初のルールを無効にした場合を除いて、アクションは実行されません
2つのルールに条件があるため、ルールcomponentsおよびrule setsを試しましたと共通のアクションしかし、何も変更されません。
編集:デバッグを行ったところ、警告メッセージとエラーメッセージが見つかりました
[警告]
WDルール:IDが「102」のcommerce_productをロードできません
WDルール:アクションentity_fetchを評価できません。
WDルール:変数entity_fetchedを取得できません。定義されていません。[エラー]
WDルール:アクションentity_deleteを評価できません。
エラー:
WDルール:変数Xを取得できません。定義されていません。
ルールは変数Xをロードできないことを意味します。
コントリビュートされたモジュールを使用している場合は、ルールが正しい順序で構成されていることを確認してください。そうでない場合は、モジュールの問題キューでバグの可能性がないか確認してください。
カスタムモジュールを使用している場合は、これらのルール変数が正しい方法で渡されていることを確認してください。
たとえば、hook_rules_action_info
に次のサンプルルールがあるとします。
'foo_rule' => array(
'label' => t('Foo rule'),
'provides' => array(
'object_to_send' => array(
'type' => 'data',
'label' => t('Data Object to pass'),
),
),
),
object_to_send
は、一致する配列キーを提供する必要があります。例:
return array( 'object_to_send' => $object);
したがって、シーケンスの次のルールはその変数を「見る」ので、それを使用できます。
ルールで、一番下までスクロールし、[設定]をクリックして、最初のルールに2番目のルールよりも高い重みを付けます。