更改时Magento事件检查订单状态

时间:2013-10-11 08:43:52

标签: php magento events module

希望一切都对你好。)

今天,我在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');
    }
}

活动有效,但我不知道如何知道订单的状态...... 你能帮我吗 ?

非常感谢你!

1 个答案:

答案 0 :(得分:2)

public function getStatus(Varien_Event_Observer $observer)
{
    $status = $observer->getEvent()->getOrder()->getStatus();
    $state = $observer->getEvent()->getOrder()->getState();
}