一旦用户将产品添加到购物车,我想限制该特定用户在特定会话期间进一步购物。如果用户结帐并再次访问本网站,他应该可以再次购物,但必须考虑上述规则。
Magento 中是否提供此功能?任何人都可以为此提供解决方案吗?
一旦用户将产品添加到购物车,我想限制该特定用户在特定会话期间进一步购物。如果用户结帐并再次访问本网站,他应该可以再次购物,但必须考虑上述规则。
Magento 中是否提供此功能?任何人都可以为此提供解决方案吗?
这当然是可能的!为事件配置一个观察者,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'));
}
}
可能有细微差别,但这是它的核心。