Geo*_*off 4 magento magento-1.5
因此,当您在Magento中执行贷项凭单时,它将存货重新设置为正确的水平,但不会将“缺货”更改回“有货”(如果适用)。我在Wright Creatives(http://wrightcreativelabs.com/blog/55-credit-memo-in-stock.html)上看到了这篇文章,它解决了这个问题。但是,方法太慢了!每个产品大约需要30秒。
我最终不得不删除它作为解决方案(因为“速度”),现在我的老板希望重新实现该功能。
我知道is_in_stock数据控制着这个问题,我想知道是否已经有一个模块,一篇文章/教程,或者有人可以帮助我着手“更好/更快”的解决方案。
我知道它已经很老了,但是因为这个问题甚至在1.7.0.1中都还没有解决,所以我想出了一个更好的解决方案。
在1.5.1及更高版本上进行了测试:
\ app \ code \ core \ Mage \ CatalogInventory \ Model \ Observer.php
在
公共功能退款订单库存($ observer)
后
Mage::getSingleton('cataloginventory/stock')->revertProductsSale($items);
//add this
foreach ($creditmemo->getAllItems() as $item) {
$productId = $item->getProductId();
$product = Mage::getModel('catalog/product')->load($productId);
if(!$product->isConfigurable()){
$stockItem = $product->getStockItem();
//$stockItem->setQty($item->getQty());
$stockItem->setIsInStock(1);
$stockItem->save();
$product->setStockItem($stockItem);
$product->save();
}
}
Run Code Online (Sandbox Code Playgroud)