只允许购物车中的一件商品

时间:2016-01-05 14:49:55

标签: joomla virtuemart

运行joomla 3.4.8和VM 3.0.12

我只需要在购物车中只允许一种产品。我的意思是,如果客户将产品添加到购物车,然后如果他/她想要添加其他产品,请不要让它显示错误消息,例如"你不能在购物车中拥有多个产品"

1 个答案:

答案 0 :(得分:0)

您可以更改购物车控制器页面中的add()函数来实现它。你可以编写像这样的代码

$cart = VirtueMartCart::getCart();
$prdata = $cart->cartProductsData;
$qty = 0;
foreach($prdata as $pdata)
    {
        $qty = $qty + $pdata['quantity'];
    }


if ($cart) {
        $virtuemart_product_ids = vRequest::getInt('virtuemart_product_id');
        $error = false;
        if($qty>=1)
        {
            $msg = vmText::_('you can't have more than one product in cart');
            $type = 'warning';
        }
        else
        {
        $cart->add($virtuemart_product_ids,$error);

在同一页面的updatecart()函数中使用相同的逻辑。

如果您使用Fancypopup addtocart,则使用addJS函数中的代码而不是add()函数。