Magento 1.5如何在创建发票后更改自定义订单状态
问题描述:
I尝试在Magento CE 1.5上创建发票后由观察者更新订单状态。Magento 1.5如何在创建发票后更改自定义订单状态
我使用活动sales_order_invoice_save_after
。我为州processed
创建了一些特定状态。我的代码工作,但Magento总是把我的订单状态,所以它cancels
我的。我不知道使用哪个事件来避免这个问题。
这里是我的观察者的代码:
public function updateStatusFacture($observer)
{
$event = $observer->getEvent();
$invoice = $observer->getEvent()->getInvoice();
$order_update = Mage::getModel('sales/order')->load($orderid);
$order = Mage::getModel('sales/order')->loadByIncrementId($order_update->getIncrementId());
$state = 'processing';
$status = 'expedier';
$comment = 'Changing state to Processing and status to expedier Status';
$isCustomerNotified = false;
$order->setState($state, $status, $comment, $isCustomerNotified);
$order->save();
}
答
好,我找到了什么事在我的代码。 避免Magento在我之后保存状态。我必须使用这个事件:sales_order_invoice_save_commit_after
代替sales_order_invoice_save_after
希望这会有所帮助。