希望一切都对你好。)
今天,我在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');
}
}
活动有效,但我不知道如何知道订单的状态...... 你能帮我吗 ?
非常感谢你!
答案 0 :(得分:2)
public function getStatus(Varien_Event_Observer $observer)
{
$status = $observer->getEvent()->getOrder()->getStatus();
$state = $observer->getEvent()->getOrder()->getState();
}