3

magentoの管理パネルで再注文ボタンがクリックされたときに、注文から製品を削除する必要があります。

ノードで使用sales_order_save_afterしているATM 。global完了したイベント、キャンセルされたイベント、および同様のイベントで発生しますが、再注文では発生しません。

    <events>
        <sales_order_save_after>
            <observers>
                <isThisTagTotallyRandom>
                    <type>model</type>
                    <class>mymodule/observer</class>
                    <method>onOrderSaved</method>
                </isThisTagTotallyRandom>
            </observers>
        </sales_order_save_after>
    </events>

だから私の質問は:

  • 再注文をキャッチするための正しいイベントは何でしょうか?
  • 結局のところ、再注文時に、いつか保存アクションが発生するはずですが、なぜこのイベントが呼び出されないのですか?
  • ボーナスの質問として:タグ<isThisTagTotallyRandom>は本当に完全にランダムですか?
4

1 に答える 1

2

再注文が行われると、最初に見積もりの​​みが作成されます。これは、これまで注文が保存されなかった理由を説明しています。

からの並べ替えアクションを見ると、からMage_Adminhtml_Sales_Order_CreateController呼び出さinitFromOrderMage_Adminhtml_Model_Sales_Order_Createます。このメソッドにsales_convert_order_to_quoteは、ディスパッチされてリッスンできるというイベントがあります。あなたはそれから見積もりと注文を得ることができます(そしてそれから製品を削除します)。

この時点で、[注文の送信]ボタンをクリックすると注文に変換される見積もりの​​みが作成されます(この時点で、sales_order_save_after私は推測に反応することができます)。

于 2013-03-25T16:34:14.253 に答える