西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

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

时间:2016-02-19 01:34来源: 作者: 点击:
在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']);
}
(责任编辑:好模板)
顶一下
(1)
50%
踩一下
(1)
50%
------分隔线----------------------------
栏目列表
热点内容