Magento как получить статус заказа в обозревателе
Вот что я делаю,
в рамках этого события: sales_order_save_after
У меня есть код в обозревателе, чтобы получить статус заказа.
public function saveBookingInfoFromOrder(Varien_Event_Observer $observer){
$order = $observer->getEvent()->getOrder();
//$last_orderid = $order->getIncrementId();
$last_orderid = $order->getId();
$order_status = $order->getStatus();
}
Но статус заказа не приходит, какие-либо предложения? заранее спасибо
1 ответ
Событие sales_order_save_after
это немного сложно. В первый раз, когда он запускается, Order еще не передан в DB, и, более того, он еще не установил State и Status.
Если вы хотите получить статус, есть другие события, более подходящие для вас:
sales_order_payment_place_end
- это срабатывает вMage_Sales_Model_Order_Payment::place
метод сразу после$order->setState
готово.place
Сама функция является обратным вызовом afterCommit для процесса сохранения заказа.sales_order_save_commit_after
- это срабатывает, когда обрабатываются все посткоммитыsales_model_service_quote_submit_success
- это последнее событие вMage_Sales_Model_Service_Quote::submitOrder
метод - на момент отправки ордера обязательно будут все данные, и вы можете быть уверены, что при создании ордера ошибок не было.