【发布时间】:2011-10-18 04:38:53
【问题描述】:
我正在尝试检索刚刚在结帐过程中创建的订单的order_id(在单击下订单按钮之后)。
我有一个观察者正在监听sales_order_place_after 事件。我正在尝试使用此代码检索order_id:
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
返回上一个订单的order_id,而不是结帐期间刚刚创建的当前订单。如果我使用这样的东西:
$order = Mage::getModel('sales/order');
$order->load(Mage::getSingleton('sales/order')->getLastOrderId());
$lastOrderId = $order->getIncrementId();
我没有收到order_id。
我尝试这样做的原因是在最初创建订单时将所有订单状态设置为保留或待处理,当用户成功交易时,我会将状态更改为处理中。
如何为观察者中正在进行的结帐会话检索当前order_id?
【问题讨论】:
标签: magento magento-1.5