Magento多发:获取所有订单或订单ID


Magento multishipping : get all orders or orderIds

我正在尝试在确认页面中获取多运输订单中的所有"订单"。

在标准模式下,我使用:

$orderId = $this->getOrderId();

$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();

但是当我在多运输模式下使用它时,我总是收到旧订单。

如果您有multishipping order,您仍然会有一个报价,但很少有订单链接到此报价。 1. 获取最后一个报价 ID:

$lastQuoteId = Mage::getSingleton('checkout/session')->getLastQuoteId();

2. 获取此报价的订单:

$orderCollection = Mage::getModel('sales/order')->getCollection();
$orderCollection->addFieldToFilter('quote_id', array('eq' => $lastQuoteId));
$orders = $orderCollection->getItems();

或订单编号:

$orderCollection = Mage::getModel('sales/order')->getCollection()
$orderCollection->getSelect()
     ->reset(Zend_Db_Select::COLUMNS)
     ->columns('entity_id');