Magento 2:取消特定订单商品

时间:2017-07-08 06:49:14

标签: magento

  

如何在自定义模块

中取消订单中未完成订单的特定项目

1 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,用于如何从特定订单商品的set setQtyCanceled()的整个订单中取消特定商品:

$orderDetail = $this->_objectManager->create('Magento\Sales\Model\Order')->load(1);
if ($orderDetail->canCancel()) {
    $orderItems = $orderDetail->getAllItems();        
    foreach ($orderItems as $value) {
        if($value['product_id']==122))
        {    
            $value->setQtyCanceled($value['qty_ordered']);
            $value->save();  
        }
        else
        {
         continue;
        }
    }
    $orderDetail->save();
}

这里我要取消订单号为1且产品编号为122的订单商品。 这对我有用