2011-07-12 77 views
2

我正在嘗試創建訂單,並在訂單發出時爲該訂單分配運輸號。但是我發現,當我創建發票並添加貨件時,magento會自動將訂單狀態設置爲「完成」。我試圖手動更改狀態,但它不起作用。設置訂單狀態並在Magento 1.5.1.0中添加自定義運營商

$order = Mage::getModel('sales/order'); 
      $order->loadByIncrementId($orderId); 
      $order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true); 
      $order->save(); 

難道有人建議我該怎麼過來呢? 另外,我如何添加一個自定義載體?默認的是DHL,聯邦快遞,UPS ..我想添加一個類似於他們。這就是我如何做它:

$carrier = "dhl"; 
      $title = "DHL"; 
      $trackNumber = '538099'; 
      if (1) { 
       $itemsQty = $order->getItemsCollection()->count(); 

    $shipment =Mage::getModel('sales/service_order',$order)->prepareShipment($itemsQty); 
       $shipment = new Mage_Sales_Model_Order_Shipment_Api(); 
       $shipmentId = $shipment->create($orderId); 


$shipment->addTrack($shipmentId,$carrier,$title,$trackNumber); 
     } 

爲載體,以標題,如果我給一個自定義名稱,我得到一個報告錯誤無效的載體。我如何去做這件事?謝謝。

+0

您的意思是使[自定義運輸模塊](http://inchoo.net/ecommerce/magento/custom-shipping-method-in-magento/)? – clockworkgeek

+2

目前我不想有一個自定義的送貨模塊。我使用表費率方法作爲運輸模塊。但我需要添加一個本地運營商,以便我可以爲貨件添加跟蹤編號。 DHL,FEDEX,UPS和USPS僅適用於運營商。我是否需要創建自定義運輸模塊來添加自定義運輸公司?謝謝。 – Nithin

回答

1

您可以使用addStatusToHistory函數。這也用於添加評論。

$order->addStatusToHistory('processing', 'Order is being processed', false); 
  • 參數1(串):新狀態
  • 參數2(串):您的評論
  • 參數3(布爾):如果你想送客戶的電子郵件通知。
+0

謝謝,我會試試看。 – Nithin

相關問題