2016-08-04 30 views
0

我试图以编程方式减少某些订单商品的数量,但更改不适用。这里是我的尝试:更改magento中订单商品的数量

require_once('../app/Mage.php'); 
    umask(0); 
    Mage::app(); 
    $order = Mage::getModel('sales/order')->loadByIncrementId($_POST['order_id']); 
    foreach($order->getAllItems() as $item) { 
     $item->setQtyOrdered($item->getQtyOrdered() - 1)->save(); 
    } 
    $order->setStatus("complete");  
    $history = $order->addStatusHistoryComment('Order was set to Complete by our automation tool.', false); 
    $history->setIsCustomerNotified(false); 
    $order->save(); 
+0

什么是错的代码?如果你再循环的项目,你会看到qty_ordered已经减少... – nano

回答

0

你试试这个

<?php 
     $order_id = 2314; //use your own order id 
     $order = Mage::getModel("sales/order")->load($order_id); 
     //load order by order id 
     $ordered_items = $order->getAllItems(); 
      foreach($ordered_items as $item){  //item detail 
       $item->setQtyOrdered($item->getQtyOrdered() - 1)->save(); 
      } 
     $order->setStatus("complete");  
     $history = $order->addStatusHistoryComment('Order was set to Complete by our automation tool.', false); 
     $history->setIsCustomerNotified(false); 
     $order->save(); 

    ?> 
相关问题