1

私のサンプルコードを試すと、製品IDでカートに自動追加されます。私も数量が必要であることは知っていますが、コードを正確に知りません。このコードでは動作しません。

$array = unserialize($_SESSION['__vm']['vmcart']);   //read the cart session
$products = $array->products;                        //list the products 

if (array_key_exists('53', $products)) {             //if productID 53 then
  $cart = VirtueMartCart::getCart();
  $quantityPost= 1;                                  //set quantity on 1
  $virtuemart_product_id = 1;                        //set product id on 1
  $cart->add(array(1));                              //add into cart product with id 1
  //$tmpProduct = $this->getProduct((int) $virtuemart_product_id,$quantityPost); //?
  echo "Article added!"; }                           //echo Message
else { 
  echo "Nothing added!"; }                           //echo Message
4

2 に答える 2

2

カートにアイテムを追加する正確な方法は、次のような ajax 呼び出し関数です。

var data = "quantity[]="+qty+"&virtuemart_product_id[]="+pid
    //data      =   encodeURIComponent(data);
    jQuery.ajax({               

                    type: "GET",
                                    dataType: 'json',
                    url: "index.php?option=com_virtuemart&nosef=1&view=cart&task=addJS",
                    data: data,
                    success: function(data) {
                        alert(data);
                    }
         });

PHP セクションから実行する場合は、カート コントローラー ファイルに移動し、関数 addJS を確認してから、対応するパラメーターをその関数に渡します。

これがあなたを助けることを願っています..

于 2013-01-30T05:59:36.533 に答える