Virtuemart 调用加入购物车功能

Virtuemart call add to cart function

我是 Virtuemart 开发的新手。我有自己的产品详情页面模板:

templates/myTemplate/html/com_virtuemart/productdetails/myProductDetails.php

我还为产品添加了一个自定义字段(字符串)(我将只有一个可以配置的产品)。该产品的配置将在产品详细信息页面上完成。我已经使用 jQuery 开发了一个配置过程。

我还使用以下代码添加了 virutemart "Add to cart"-按钮:

echo shopFunctionsF::renderVmSubLayout('addtocart',array('product'=>$this-    
>product));

如果用户单击 "Add to cart"- 按钮,我必须检查配置。如果配置有效,那么它应该存储在我为产品创建的自定义字段中。我想将数据作为 JSON 字符串存储到自定义字段中。将数据保存到自定义字段后,我想将产品添加到购物车。然后应该显示通常的弹出对话框。自定义字段值应显示为购物车属性。如果配置无效,则应该有某种错误输出。该产品不应添加到购物车。

我如何使用 virutemart "Add to cart" 功能来做到这一点?

我还要检查服务器端自定义字段中提交的数据。最好的方法是什么? (也许使用结帐页面?)

我找到了将商品添加到购物车并检查配置的解决方案:

$('#myaddtocart').click(function() {

  var data = "quantity[]="+20+"&virtuemart_product_id[]="+1;

  $.ajax({               

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

    }

  });

});

此代码段调用位于 /com_virtuemart/controllers/cart.php 中的 addJS() 函数 - 仅需提供数量和产品 ID。我还使用了自己的按钮 (#myaddtocart) 来触发点击事件并将商品添加到购物车。