2011-12-29 54 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(); 
} 
相关问题