因此,当您在Magento中执行贷项通知单时,它会将库存设置回正确的级别,但不会将“缺货”更改回“库存”(如果适用)。我在Wright Creatives(http://wrightcreativelabs.com/blog/55-credit-memo-in-stock.html)上发现了这篇文章,它解决了这个问题。但是,方法太慢了!每件产品大约需要30秒。
我最终不得不删除这个作为解决方案(因为“速度”),现在我的老板希望重新实现这个功能。
我知道is_in_stock
数据控制了这个&我想知道是否已经有一个模块,一篇文章/教程,或者可以帮助我开始“更好/更快”解决方案的人。
答案 0 :(得分:4)
我知道它已经过时但是因为即使在1.7.0.1中这还没有修复,我想出了一个更好的解决方案。
在1.5.1及以上测试:
<强> \应用\代码\核心\法师\ CatalogInventory \模型\ Observer.php 强>
在
public function refundOrderInventory($ 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();
}
}
答案 1 :(得分:0)
编写一个模块,用于观察贷项通知单的事件,并在产品保存之前在产品库存项目对象上设置in_stock标志。我不能告诉你你要观察的事件,但我很肯定你可以找到它:)
如果没有,那么更丑陋的方法是在保存之前观察产品。更多的逻辑可以推动它,但如果你总是希望产品有库存,如果他们有数量而不管其他什么,那么这不是一个坏主意。
答案 2 :(得分:0)
商店&gt;&gt;配置&gt;&gt;广告资源&gt;&gt;滚动到底部
答案 3 :(得分:0)
转到// Clean up caches in activate event to ensure no pages are using the old caches.
self.addEventListener('activate', (event) => {
const promiseChain = caches.keys()
.then((cacheNames) => {
// Step through each cache name and delete it
return Promise.all(
cacheNames.map((cacheName) => caches.delete(cacheName))
);
});
// Keep the service worker alive until all caches are deleted.
event.waitUntil(promiseChain);
});
-> System
-> Configuration
-> Inventory (under Catalog)
->自动将贷项通知单项目退还给库存并确保将其设置为{{1} }。
或者只是转到数据库,然后在core_config_data中,路径为“ cataloginventory / item_options / auto_return”,确保将value列设置为“ 1”;