2013-12-22 18 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

を追加するには、以下のコードを使用しています。あなたはいつもオーダーごとに1個の出荷を持つように規則を作る場合しかし、あなたは、このようにその増加分のIDを取得することができます:私はそれを必要と

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

おかげマリウスが、これは正確に動作します。コンベンションについて、唯一の貨物/秩序を持つことについてはどうすればいいですか?ご助力ありがとうございます。 – user3127781

+0

私が言ったように。それは大会です。注文ごとに貨物のみを追加することを「口頭で」決定します。 – Marius

+0

しかし、卿は、私はエラーを取得しています: 致命的なエラー:その後、出荷はまだこの順序のために作成されていない非オブジェクト –

関連する問題