В панели администратора Система-> Конфигурация-> Каталог 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>
После долгого процесса, я получил успех, создав наблюдателя в моем пользовательском модуле.