2011-12-29 55 views
1

我有訂單對象,我需要得到所有包裹追蹤號碼。我嘗試了以下代碼,但它甚至沒有返回任何命令,我嘗試過使用跟蹤號碼發送的包。如何獲得Magento中的所有訂單追蹤號碼?

$order = Mage::getModel('sales/order')->loadByIncrementId($orderid); 
$trackingNumbers = $order->getTrackingNumbers(); 

Order對象不爲空,因爲它用於其他的方法,如getShippingMethod等

返回數據。如果我從點擊「物品&處理」鏈接「信息訂單」,然後彈出窗口顯示所有跟蹤號碼。

回答

4

嘗試此..

$shipmentCollection = Mage::getResourceModel('sales/order_shipment_collection') 
->setOrderFilter($order) 
->load(); 

的foreach($ shipmentCollection爲$裝運){$ shipment-> getAllTracks(); }

編輯: -

foreach ($shipmentCollection as $shipment){ 


foreach($shipment->getAllTracks() as $tracknum) 
      { 
       $tracknums[]=$tracknum->getNumber(); 
      } 
} 

現在$ tracknums將有跟蹤號碼的陣列。

+1

更改頂部部分:'$ shipmentCollection = $命令 - > getShipmentsCollection();' – 2013-11-01 01:04:34

1

你可以簡單地這樣做:

$orderIncrementId = 100000016; // YOUR ORDER INCREMENT ID; 
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId); 
$trackNumber = array(); 
foreach ($order->getTracksCollection() as $track){ 
    $trackNumber[] = $track->getNumber(); 
} 
相關問題