if(Mage::helper('checkout/cart')->getCart()->getItemsCount() % 6 != 0){
Mage::getSingleton('customer/session')->addError('Item in your cart must be multiple of 6');
$url = Mage::getUrl('checkout/cart')
Mage::app()->getFrontController()->getResponse()->setRedirect($url, 301);
}
3 回答
afaik没有,但应该很容易做到 .
写一个观察者,监听
controller_action_predispatch_checkout_onepage_index
检查数量是6的倍数,如果没有添加错误并重定向到购物车您也可以考虑在
controller_action_predispatch_checkout_cart_index
中检查它,以便在购物车页面上显示警告,也可以在按钮上显示灰色 .您可以创建自定义模块,也可以在单页结帐的登录页面上创建
虽然其他答案有效,但也许最好的方法是检查报价保存,这样如果客户调整其购物车中的数量,它将会四舍五入,他们将看到并理解变化 . 当顾客购买他们不知道他们购买的东西时,他们会发出愤怒的电话,这并不好玩 .
话虽如此,我们可以挂钩
sales_quote_save_before
事件进行检查并相应地调整数量 .Observer.php
我们先获取所有项目,查看数量是否为6,然后相应地调整数量 . 我们甚至可以输出通知,以便客户了解细微的变化 .
config.xml