2014-12-03 4 views
0

В Magento 1.9.0.1 по умолчанию он уменьшает запас акций при размещении заказа. Я хочу прекратить уменьшение количества акций при размещении заказа с целью поддельного заказа. И мне также нужна функциональность увеличения количества акций, пока состояние заказа завершено, а не обрабатывается, а не обрабатывается. Как это сделать программно или путем настройки в панели администратора. Если кто-нибудь знает об этом, ответьте пожалуйста.Программно останавливать уменьшающийся запас акций при размещении заказа в пурпуре и увеличивая кол-во, когда состояние заказа завершено

Спасибо Ankan

ответ

0

Просто откройте панель администратора, перейдите в Система-> Конфигурация-> Каталог TAB-> Inventory Затем нажмите на Stack Option и изменение Уменьшение запасов При размещении заказа на NO.

Спасибо, Lovekesh

0

В панели администратора Система-> Конфигурация-> Каталог TAB-> Инвентарь Затем нажмите на Stack Option и изменение Уменьшение запасов При размещении заказа на NO. Так что он останавливает наличие Кол-increasing.In Модель/Автоматическая/Complete/Order/Observer.php страница, класс Webspidy_Customoption_Model_Automatically_Complete_Order_Observer {функции __construct общественности() {} функции automaticallycompleteorder общественности ($ наблюдатель) { // Mage :: войти ('Ankan'); $ order = $ observer-> getEvent() -> getOrder(); /$ orders = Mage :: getModel ('sales/order_invoice') -> getCollection() -> addAttributeToFilter ('order_id', array ('eq' => $ order-> getId()));/

/*if ((int)$orders->count() !== 0) { 
     return $this; 
    }*/ 

    //Mage::log($orderstate); 

    //if($order->getState() == 'complete'){ 
    if(($order->getState() == 'processing') || ($order->getState() == 'pending_payment')){ 
     if($order->hasInvoices()){ 
    //Mage::log($orderstate); 
     //Mage::log('Ankan'); 
     //Mage::log($order->getData()); 
     //====== Order Details ================ 
     $orderNumber = $order->getIncrementId(); //Mage::log($orderNumber); 
     $orderDet = Mage::getModel('sales/order')->load($orderNumber, 'increment_id'); 
      //Mage::log($orderDet->getData()); 
     $orderItems = $orderDet->getItemsCollection() 
      ->addAttributeToSelect('*') 
      ->load(); 

     foreach($orderItems as $orderItem){ 
      $productId = $orderItem->getProductId(); 
      $productOptionSku = $orderItem->getSku(); 
      $productQty = $orderItem->getQtyOrdered(); 

      $product = Mage::getModel('catalog/product')->load($productId); 
      $sku = $product->getSku(); 
      $centralqty = $product->getStockItem()->getQty(); 

      $values = array(); 
      foreach ($product->getOptions() as $o) { 
       $p = $o->getValues(); 
      } 
      foreach($p as $v) 
      { 
       $optionSku = $v->getSku(); 
       $optionItem = $v->getQty(); 

       //Mage::log($optionItem); 
       //Mage::log($productOptionSku.".....".$sku."-".$optionSku.".....".$optionItem); 

       if($productOptionSku == ($sku."-".$optionSku)){ 

        if($centralqty >= ($optionItem*(int)$productQty)){ 
         //$stockQty = (($centralqty-($optionItem*(int)$productQty))+$productQty); 
         $stockQty = ($centralqty-($optionItem*(int)$productQty)); 
        } 
       } 
      } 
      $product->save(); 
      //Mage::log($stockQty); 

      $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($productId); 
      //$stockItem = Mage::getModel('cataloginventory/stock_item')->load($productId); 
      $stockItemId = $stockItem->getId(); 

      $stockItem->setData('qty', $stockQty);//(integer)$XMLproduct->QtyInStock 
      $stockItem->setData('manage_stock',1); 


      $stockItem->save(); 

     } 
     } 
     //======== End ====== 
    } 

} 

}
И т.д./config.xml, <global><events> <sales_order_save_after><observers> <webspidy_customoption_automatically_complete_order_observer> <type>singleton</type> <class>Webspidy_Customoption_Model_Automatically_Complete_Order_Observer</class> <method>automaticallycompleteorder</method> </webspidy_customoption_automatically_complete_order_observer> </observers></sales_order_save_after></events></global> После долгого процесса, я получил успех, создав наблюдателя в моем пользовательском модуле.

0

Я использую Magento 1.9

Я попытался с помощью следующего кода. это хорошо, но у меня есть еще один смарт-код

$stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($productId); 
$stockItemId = $stockItem->getId(); 
$stockItem->setData('qty', $stockQty); 
$stockItem->setData('manage_stock',1); 
$stockItem->save(); 

Мой код выглядит следующим образом: -

Mage::getModel('cataloginventory/stock')->backItemQty($productId,$new_qty); 

 Смежные вопросы

  • Нет связанных вопросов^_^