2011-11-14 93 views
1

我需要订单中的增量ID在我的服务器上创建一个文件夹,用于在客户成功订购某些东西后,在其中移动某些订单特定文件。这是我到目前为止:Magento:第一张订单后increment_id为空

$chkoutSess = Mage::getSingleton('checkout/session'); 
$lastOrderId = $chkoutSess->getLastOrderId(); 
$order = Mage::getModel('sales/order'); 
$order->load($lastOrderId); 
$incid = $order->getData("increment_id"); 

我想这可以做得更容易,但它适用于我。我遇到的问题是,当我第一次点菜时,$order完全是空的。之后它总是有效。所以我认为只有在有实际会话的情况下,我才能从会话对象中获取这些数据......这当然是没有意义的,因为当客户下订单时应该总是有一个“lastOrderId”。有没有其他方法可以简单地获取最后一个订单,并将其从数据库中增加出来?我尝试了几件事情,但总是空的对象..

我使用的函数是在用户成功点击订单提交按钮(事件观察者“sales_order_place_after”)后执行的。任何人都可以帮助我呢?

+1

但整个订单对象传递给'sales_order_place_after'观察者,你可以在那里使用它('$事件 - > getOrder()')。为什么你要从会话中获取订单ID? – Zyava

+0

您的解决方案对我而言确实有效......认为这就是我错过的地方......谢谢! – Mikaelik

回答

0

尝试$chkoutSess->getRealOrderId();而不是$chkoutSess->getLastOrderId();