如何在Magento中按订单ID获取货件增量ID

use*_*781 6 php magento

大家好.有人能告诉我如何通过Magento中的订单ID获取货件增量ID吗?

我需要这个,因为我使用外部php文件将跟踪信息添加到货件,它需要装运ID.

谢谢你的帮助.

我使用下面的代码添加跟踪信息

$shipmentIncrementId='300000002';
$trackNumber='123456';
$carrier='custom';
$title='server10';


$shipment = Mage::getModel('sales/order_shipment')->loadByIncrementId($shipmentIncrementId);

         /* @var $shipment Mage_Sales_Model_Order_Shipment */



         $track = Mage::getModel('sales/order_shipment_track')
                     ->setNumber($trackNumber)
                     ->setCarrierCode($carrier)
                     ->setTitle($title);

         $shipment->addTrack($track);

         try {
             $shipment->save();
         } catch (Mage_Core_Exception $e) {
             $thiss->_fault('data_invalid', $e->getMessage());
         }

         return $track->getId();

print_r($shipment);
Run Code Online (Sandbox Code Playgroud)

Mar*_*ius 14

理论上,订单可以有多个货件.但是,如果你制定一个约定,每个订单总是只有一个货物,你可以得到它的增量ID:

$orderIncrementId = 120000012;
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId);
$shipment = $order->getShipmentsCollection()->getFirstItem();
$shipmentIncrementId = $shipment->getIncrementId();
Run Code Online (Sandbox Code Playgroud)