2016-08-04 34 views
0

ich versuche, Menge von einigen Bestellelement programmgesteuert zu reduzieren, aber Änderungen nicht anwenden. Hier ist mein Versuch:Ändern Sie die Anzahl der Auftragspositionen in 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

was mit diesem Code falsch? Wenn Sie die Elemente erneut durchlaufen, sehen Sie, dass "qty_ordered" verringert wurde ... – nano

Antwort

0

Sie versuchen, diese

<?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(); 

    ?>