跨境电商
经验交流分享

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

在Magento中,创建配送单并填写运单号,是订单处理的基本流程之一。创建配送单并添加运单号的操作都可以在订单管理页面完成。但是有时候,我们可能需要在第三方程序中完成订单的这些流程,如ERP。那如何通过代码来完成上述操作呢?

在最近的一个Magento项目中,需要为客户批量导入订单的物流运单号,如下所示,首先从csv文件中读取数据,根据获取的订单号创建订单对象。通过sales/service_order类的prepareShipment()方法,传递需要配送的商品数量。最后实例化Mage_Sales_Model_Order_Shipment_Api,调用create即可创建配送单。

创建配送单的同时,我们需要写入物流公司的名称和运单号。下面代码中最后一段,通过调用addTrack()方法即可实现。

[php]
$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’]);
}
[/php]

赞(0)
未经允许不得转载:锐想 » Magento批量导入订单物流运单号
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

锐想电商 - 跨境电商经验交流分享

锐想无限