2013-12-22 4 views
6

안녕 얘들 아. 누군가 Magento의 주문 ID로 배송 증가 ID를받는 방법을 알려주실 수 있습니까?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); 

답변

12

에게 추적을 추가하려면 아래의 코드를 사용하고 있습니다. 그러나 주문 당 하나의 배송료를 항상 소지하고 있다면 다음과 같이 증분 ID를 얻을 수 있습니다.

$orderIncrementId = 120000012; 
$order = Mage::getModel('sales/order')->loadByIncrementId($orderIncrementId); 
$shipment = $order->getShipmentsCollection()->getFirstItem(); 
$shipmentIncrementId = $shipment->getIncrementId(); 
+0

감사합니다. Marius에게 감사드립니다. 필요한대로 정확하게 작동합니다. 컨벤션에 관해서는 오직 하나의 선적/주문 만 가지고 있는데 어떻게 할 수 있습니까? 당신의 도움을 주셔서 대단히 감사합니다. – user3127781

+0

내가 말했듯이. 대회입니다. "구두로"결정하면 주문 당 발송물 만 추가됩니다. – Marius

+0

하지만 선생님 오류가 발생했습니다. 치명적 오류 : 비 객체에서 getFirstItem() 멤버 함수를 호출하십시오 –

관련 문제