【问题标题】:How can I get all order tracking numbers in Magento?如何在 Magento 中获取所有订单跟踪号?
【发布时间】:2011-12-29 12:16:44
【问题描述】:

我有订单对象,我需要获取所有已发货的包裹跟踪号。我尝试了以下代码,但即使我尝试发送带有跟踪号的包裹的订单也没有返回任何内容。

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

Order 对象不为空,因为它为 getShippingMethod 等其他方法返回数据。

如果我点击“运输和处理”链接“信息跟踪订单”,弹出窗口会显示所有跟踪号。

【问题讨论】:

    标签: php magento magento-1.4


    【解决方案1】:

    试试这个..

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

    foreach ($shipmentCollection 作为 $shipment){ $shipment->getAllTracks(); }

    编辑:-

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

    现在 $tracknums 将包含跟踪号码数组。

    【讨论】:

    • 将上半部分改为:$shipmentCollection = $order->getShipmentsCollection();
    【解决方案2】:

    你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2013-09-15
      • 2022-09-23
      相关资源
      最近更新 更多