-
29-09-2020 - |
题
我正在尊重客户一次购买1个捆绑产品。
有没有办法为捆绑产品设置“购物车中允许的最大数量”。
我想在没有限制各个产品的情况下这样做,因此客户可以单独购买它们的许多人。
任何想法如果是这样的话,如果是这样,我如何实现这个?
解决方案
核心功能“最大数量”与库存物品相关联,因此它不适用于捆绑包(他们没有自己的库存)。
你必须自己开发它。
对于简单的产品,检查发生在 Mage_CatalogInventory_Model_Stock_Item::checkQuoteItemQty()
:
if ($this->getMaxSaleQty() && $qty > $this->getMaxSaleQty()) {
$result->setHasError(true)
->setMessage(
Mage::helper('cataloginventory')->__('The maximum quantity allowed for purchase is %s.', $this->getMaxSaleQty() * 1)
)
->setErrorCode('qty_max')
->setQuoteMessage(Mage::helper('cataloginventory')->__('Some of the products cannot be ordered in requested quantity.'))
->setQuoteMessageIndex('qty');
return $result;
}
.
它在 Mage_CatalogInventory_Model_Observer::checkQuoteItemQty()
,这是我将为捆绑添加自己的额外限制。使用重写或具有相同事件的其他观察者(sales_quote_item_qty_set_after
):
- 检查项目是否是捆绑
- 如果是这样,请检查捆绑qty是> 1,在这种情况下,在原始观察者中添加错误才能引用。