php – Magento我如何以编程方式发送订单?
发布时间:2020-12-13 18:05:39 所属栏目:PHP教程 来源:网络整理
导读:我正在寻找一些代码来在Magento中添加MassAction并从sales_order / index发货并完成多个订单 不知何故订单没有发货. 看起来(一个完全正常的顺序)没有通过canship()测试.它应该传递$orderid的订单吗? 这是我的代码 //Get orderids$orderIds = $this-getReque
我正在寻找一些代码来在Magento中添加MassAction并从sales_order / index发货并完成多个订单
不知何故订单没有发货. 看起来(一个完全正常的顺序)没有通过canship()测试.它应该传递$orderid的订单吗? 这是我的代码 //Get orderids $orderIds = $this->getRequest()->getPost('order_ids'); //verify if the array is not empty if (!empty($orderIds)) { //loop through orders foreach ($orderIds as $orderId) { // Dont know what this does $order = Mage::getModel('sales/order')->loadByIncrementId($orderId); // Is the order shipable? if($order->canShip()) { $itemQty = $order->getItemsCollection()->count(); // This first definition and 2nd look overlapping,our one is obsolete? $shipment = Mage::getModel('sales/service_order',$order)->prepareShipment($itemQty); $shipment = new Mage_Sales_Model_Order_Shipment_Api(); // But still,no shipment,why? $shipmentId = $shipment->create($orderId,array(),'Shipment created through ShipMailInvoice',true,true);
您需要按ID加载,如果获得orderID,或者通过IncrementOrderId加载,则实际获得Order incrementId.
用这个:
让我们知道它是否有效. 然后 : $shipmentId = $shipment->create($order->getIncrementId(),$itemQty,true); 试试吧. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |