1

注文ステータスが完了になったときに実行されるコードをMagento(1.6.2)に追加する必要があります。私たちのシステムでは、これは注文が「発送済み」の場合に発生します。つまり、「発送」ボタンがクリックされ、発送情報が保存されます。

私は(明らかに間違った場所で)そのイベントが何と呼ばれるかを探して、それが発生するのを監視するオブザーバーを追加して、コードを実行できるようにしました。

このイベントの名前を教えてもらえますか(観測可能なイベントとして存在する場合)。

乾杯!

4

2 に答える 2

2

私もイベントハンティングは少し暗い芸術だと思います。この場合sales_order_save_before、次のようなハンドラーをチェックインしてみます。

function onSalesOrderSaveBefore(Varien_Event_Observer $observer)
{
    $order = $observer->getOrder();
    if (($order->getData('status') == 'complete')
     && ($order->getOrigData('status') != 'complete')) {
        // then order has just been completed
    }
}
于 2012-12-15T00:38:22.883 に答える
0

考えられる解決策の1つは、このコントローラーをオーバーライドするカスタムモジュールを作成することです。

/app/code/core/Mage/Adminhtml/controllers/Sales/Order/ShipmentController.php

次に、カスタムコードを追加するか、独自のカスタムイベントを作成しますpublic function saveAction()

于 2012-12-14T23:36:40.187 に答える