加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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.

用这个:

$order = Mage::getModel(‘sales/order’)->load($orderId);

让我们知道它是否有效.

然后 :

$shipmentId = $shipment->create($order->getIncrementId(),$itemQty,true);

试试吧.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读