1

一旦用户将产品添加到购物车,我想限制该特定用户在特定会话期间进一步购物。如果用户结帐并再次访问本网站,他应该可以再次购物,但必须考虑上述规则。

Magento 中是否提供此功能?任何人都可以为此提供解决方案吗?

4

1 回答 1

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'));
    }
}

可能有细微差别,但这是它的核心。

于 2012-07-19T12:18:45.397 回答