Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Joomla 购物车中只允许一种产品_Joomla_Virtuemart - Fatal编程技术网

Joomla 购物车中只允许一种产品

Joomla 购物车中只允许一种产品,joomla,virtuemart,Joomla,Virtuemart,运行joomla 3.4.8和VM 3.0.12 我只需要在购物车中允许一种产品。我的意思是,如果客户向购物车添加一个产品,然后如果他/她想添加另一个产品,则不允许它显示错误消息,如“购物车中不能有多个产品”您可以更改购物车控制器页面中的add()函数来实现它。您可以编写类似这样的代码 $cart = VirtueMartCart::getCart(); $prdata = $cart->cartProductsData; $qty = 0; foreach($prdata as $pda

运行joomla 3.4.8和VM 3.0.12

我只需要在购物车中允许一种产品。我的意思是,如果客户向购物车添加一个产品,然后如果他/她想添加另一个产品,则不允许它显示错误消息,如“购物车中不能有多个产品”

您可以更改购物车控制器页面中的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()函数