我使用Magento 1.5.1为时尚网店提供支持。我注意到Magento的一个奇怪的行为,我希望你能帮我解决:
以下是该方案:
一件商品有5件库存。
用户将5添加到购物车
与此同时,有人购买了1件商品,因此不再提供5件商品。新股票为4.在我看来,用户应该能够将数量重置为4。
用户尝试将数量重置为4.然而,这不起作用。我在这个阶段获得的是数量不可用且数量保持在5。
编辑: 为了澄清第4步: 一旦我尝试将数量设置为4,我收到一条消息,指出该商品缺货。
这是一个已知的Magento错误吗?我该如何检查导致这种情况的原因?
谢谢
答案 0 :(得分:0)
Oke,终于找到了解决方法:
\ app \ code \ core \ mage \ checkout \ model \ cart.php第383行 - 386
变化:
$item->setQty($qty);
if ($item->getHasError()) {
Mage::throwException($item->getMessage());
}
为:
$oldqty = $item->getQty();
$item->setQty($qty);
if ($item->getHasError() && $qty > $oldqty) {
Mage::throwException($item->getMessage());
}
现在它检查新数量是否低于旧数量。如果是这样,继续。否则做旧行为。