最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > Magento > Magento教程 >

Magento批量导入订单物流运单号

时间:2014-01-18 23:55来源:未知 作者:外贸网站模板 点击:
在Magento中,创建配送单并填写运单号,是订单处理的基本流程之一。创建配送单并添加运单号的操作都可以在订单管理页面完成。但是有时候,外贸网站模板可能需要在第三方程序中完成订单
在Magento中,创建配送单并填写运单号,是订单处理的基本流程之一。创建配送单并添加运单号的操作都可以在订单管理页面完成。但是有时候,外贸网站模板可能需要在第三方程序中完成订单的这些流程,如ERP。那如何通过代码来完成上述操作呢?
 
在最近的一个Magento项目中,需要为客户批量导入订单的物流运单号,如下所示,首先从csv文件中读取数据,根据获取的订单号创建订单对象。通过sales/service_order类的prepareShipment()方法,传递需要配送的商品数量。最后实例化Mage_Sales_Model_Order_Shipment_Api,调用create即可创建配送单。
 
创建配送单的同时,外贸网站模板需要写入物流公司的名称和运单号。下面代码中最后一段,通过调用addTrack()方法即可实现。
 
$orderId = $importData['order_id'];
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
 
if (!$order->getId()) {
    $message = Mage::helper('catalog')->__('Order Does Not Exist.');
    Mage::throwException($message);
}
 
if(!$order->canShip()) {
    $message = Mage::helper('catalog')->__('Order Can Not Ship ATM.');
    Mage::throwException($message);
} else {
    $itemQty =  $order->getItemsCollection()->count();
    $shipment = Mage::getModel('sales/service_order', $order)->prepareShipment($itemQty);
    $shipment = new Mage_Sales_Model_Order_Shipment_Api();
    $shipmentId = $shipment->create($orderId);
    $shipment->addTrack($shipmentId, 'custom', $importData['title'], $importData['number']);
}
(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容