Привет ребята. Может ли кто-нибудь сказать мне, как получить идентификатор увеличения доставки по идентификатору заказа в Magento?
Мне нужно это, потому что я использую внешний php-файл, чтобы добавить информацию отслеживания к отправке, и для этого ему нужен идентификатор доставки.
Спасибо за твою помощь.
Я использую код ниже, чтобы добавить информацию отслеживания
$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);
Теоретически заказ может иметь более одной партии. Но если вы делаете соглашение, чтобы всегда иметь одну единственную партию в заказе, вы можете получить свой инкремент id следующим образом:
$orderIncrementId = 120000012; $order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId); $shipment = $order->getShipmentsCollection()->getFirstItem(); $shipmentIncrementId = $shipment->getIncrementId();