web-dev-qa-db-ja.com

コードでルールイベントをトリガーするにはどうすればよいですか?

現在作成しているWebサイトにコマースを使用しています。注文がステータスに更新された後に「売り価格の計算」というイベントをトリガーしたいので、「承認済み」というイベントを作成しました。私がやりたいのは、このイベントと「チェックアウト:チェックアウト」ページで税金が計算されるためです。しかし、店長は顧客が税金を支払うべきかどうかを選択したいので、手動ではなく、請求または配送条件。

ブールフィールド「VATを適用しますか?」を追加しました。注文ページに追加し、そのエンティティが存在し、VAT税を適用することに該当する場合に条件を追加しましたが、これはチェックアウトページでは行われず、ステータスを「チェックアウト:チェックアウト」に戻すと、VAT税がかかることに気付きましたこれは「販売価格の計算」イベントによるものです(間違っている場合は教えてください)。

「注文が更新されました」というイベントとPHPイベントを再度呼び出すコード)のアクションを含むルールを作成することを考えていましたが、rules_invoke_eventについては知っていますが、取得できません。ワーキング。

送料に税金がかからないという問題もありますが、これは別の問題です(これについて別の質問を開くかもしれません)。

回答ありがとうございます。

3
Canutza

「ラインアイテムが更新されたとき」というイベントを含むルールを追加し、次に rules_invoke_event() in PHPこのようなコード:

rules_invoke_event("commerce_product_calculate_sell_price", $commerce_line_item);

以前は$commerce_line_itemを追加せずにこのルールを誤って呼び出していたため、この問題は解決され、出荷は維持されました。
御時間ありがとうございます!

5
Canutza