在magento的observer中捕获订单完成状态
您好,我想在订单完成或关闭时获取订单信息。我尝试了不同的事件,如销售、订单、地点等,但没有完成我的要求。我正在从管理端完成订单,我创建了一个观察者来捕获信息,如 Xml: 观察员:在magento的observer中捕获订单完成状态,magento,Magento,您好,我想在订单完成或关闭时获取订单信息。我尝试了不同的事件,如销售、订单、地点等,但没有完成我的要求。我正在从管理端完成订单,我创建了一个观察者来捕获信息,如 Xml: 观察员: public function salesConvertQuoteItemToOrderItem($observer) { $order = $observer->getOrder(); $orders = $observer->getEvent()->ge
public function salesConvertQuoteItemToOrderItem($observer)
{
$order = $observer->getOrder();
$orders = $observer->getEvent()->getOrder();
if($order->getState() == Mage_Sales_Model_Order::STATE_COMPLETE){
echo "<pre>";
print_r($orders);exit;
}
}
有人能帮忙吗?提前感谢你做的一切都是对的,只是你听到的是错误的事件。你必须改用“销售订单保存”来代替。你做的每件事都是对的,只是听到的是错误的事件。您必须改用sales\u order\u save\u after。使用sales\u order\u save\u after仍然很好,但它只需要您检查状态,正如Misha所建议的:
这对我来说很好。使用sales\u order\u save\u after仍然很好,但它只需要您检查状态,就像Misha建议的那样:
这对我来说很好。这不起作用,因为您需要检查订单状态是否已更改,因为如果您保存订单且订单尚未完成,上述代码将始终触发。这不起作用,因为您需要检查订单状态是否已更改,因为,如果您保存订单并且订单尚未完成,则始终会触发上述代码。
public function salesConvertQuoteItemToOrderItem($observer)
{
$order = $observer->getOrder();
$orders = $observer->getEvent()->getOrder();
if($order->getState() == Mage_Sales_Model_Order::STATE_COMPLETE){
echo "<pre>";
print_r($orders);exit;
}
}
public function salesOrderSaveAfter($observer)
{
$order = $observer->getEvent()->getOrder();
if($order->getState() != Mage_Sales_Model_Order::STATE_COMPLETE) {
return $this;
}
if($order->getData('state') == $order->getOrigData('state')) {
return $this;
}
// do your stuff
return $this;
}