Magentoでチェックアウトプロセスの前にカスタムグラントータルを設定する方法は?

StackOverflow https://stackoverflow.com/questions/4363876

  •  09-10-2019
  •  | 
  •  

質問

「sales_order_place_before」イベントにオブザーバーを追加しましたが、支払いを処理する前に合計をカスタマイズしたいと考えています。しかし、私は見積価格を変更するために多くのことを試みましたが、それは機能していません。

誰かが考えていますか?

役に立ちましたか?

解決

合計1つ(mage_sales_model_quote_address_total_grand)の後に新しいコレクターを追加する必要があります。総コレクターによって設定された合計を変更する必要があります。

私はそのような事件について、1週間前にウクライナで開催されたMageconf Conferenceで話をしました。ビデオとスライドはまだ利用できませんが、 Demo-Moduleをダウンロードします それは会議で説明されました。ラッピング価格を計算する総コレクターの例があります。

私のデモの合計コレクターを変更できるように、グランドトータルコレクターの後に収集プロセスに挿入されます(参照 config.xml モジュールで ディレクトリ - 削除します <before>subtotal</before> その後、ノードを使用します <after>grand_total</after> 代わりに)および変更します 収集() 定義済みの値にグランド合計を設定するための方法:

$address->setGrandTotal($someValue);
$address->setBaseGrandTotal($someBaseValue);

または、このモジュールをそのまま残すこともできますが、マイナスの合計を設定します。したがって、総総コレクターはそれらを差し引き、希望どおりに総額を減らします。また、そのような場合、顧客はあなたの負の値を見ることができます( フェッチ() 方法)そして、グランド合計が低下した理由を理解します。

楽しむ :)

他のヒント

新しい合計オブジェクトを作成したり、仮想製品として合計を追加する必要はありません

観察してください

Mage_Sales_Model_Quote_Address_Total_Abstract Mage_Sales_Model_Order_Invoice_Total_Abstract Mage_Sales_Model_Order_Creditmemo_Total_Abstract

合計オブジェクトを実装するために必要なものを確認します。また、レートオブジェクトを拡張する必要がある場合があります

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top