用户将产品添加到购物车后,我想限制特定用户在特定会话期间进一步购物。 如果用户退房并再次访问本网站,他应该可以再次购物,但必须考虑上述规则。
Magento中是否提供此功能?任何人都可以为此提供解决方案吗?
答案 0 :(得分:1)
当然这是可能的!配置controller_action_predispatch
事件的观察者,从会话中获取引用对象 - 如果它包含项目,请在观察者方法中设置重定向并将其重定向到购物车。示例(未测试):
public function restrictToCheckout(Varien_Event_Observer $observer)
{
$items = Mage::getSingleton('checkout/session')->getQuote()->getItemsCount();
if ($items) {
$observer->getControllerAction()->getResponse()
->setRedirect(Mage::getUrl('checkout/cart'));
Mage::throwException('You have items in your cart and must checkout'));
}
}
可能有细微差别,但这是它的核心。