1

うまくいきますように:)

今日は、Magento でプログラミングをしています。タイトルからわかるように、注文の状態が変化したとき (支払い保留中、処理中、完了) にイベントをキャッチしたいと考えています。

そして、注文が「処理中」または「支払い保留中」または「完了」の状態の場合は、何かを行います。

イベントのconfig.xmlで「sales_order_save_after」を使用し、クラスで次のようにしました。

<?php

class Test_Model_Observer extends Mage_Core_Model_Abstract
{
    /**
     * Magento passes a Varien_Event_Observer object as
     * the first parameter of dispatched events.
     */

    public function logOrderUpdated(Varien_Event_Observer  $observer)
    {
       // if state = pending payment, do:
       // if state = processing, do:
       // if state = complete, do:

       Mage::log(
          "State:",
          null, 
          'order-state.log');
    }
}

イベントは機能しますが、注文の状態を知る方法がわかりません...助けてください。

どうもありがとう!

4

1 に答える 1

2
public function getStatus(Varien_Event_Observer $observer)
{
    $status = $observer->getEvent()->getOrder()->getStatus();
    $state = $observer->getEvent()->getOrder()->getState();
}
于 2013-10-11T10:01:39.513 に答える