在opencart中单击“添加到购物车”按钮时会发生什么情况

在opencart中单击“添加到购物车”按钮时会发生什么情况,opencart,Opencart,有人能告诉我,当我们点击商店前面的“添加到购物车”按钮时,将执行哪个功能?单击“添加到购物车”按钮时将执行哪个代码或方法?我观察到有一些计算发生 在view/theme/*/template/product/product.tpl中 <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" /> &nbsp; <

有人能告诉我,当我们点击商店前面的“添加到购物车”按钮时,将执行哪个功能?单击“添加到购物车”按钮时将执行哪个代码或方法?我观察到有一些计算发生

在view/theme/*/template/product/product.tpl中

 <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />
          &nbsp;
          <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" />

jQuery代码查找id为“button-cart”的按钮

单击后,它将运行下面的Ajax代码。数据将传输到
route=checkout/cart/add
url

该文件调用您的
/controller/checkout/cart.php
文件并查找
add()
函数。传递到
add()
函数的数据将来自“data”

然后,如果数据传递正确,jQuery代码将提示来自
json['success']
的警报消息,并加载一个DIV层

否则,如果数据传递不正确,则会在页面上显示错误消息


让我知道这是否有助于你理解它。我使用Opencart。

jQuery代码查找id为“button-cart”的按钮。

单击后,它将运行下面的Ajax代码。数据将传输到
route=checkout/cart/add
url

该文件调用您的
/controller/checkout/cart.php
文件并查找
add()
函数。传递到
add()
函数的数据将来自“data”

然后,如果数据传递正确,jQuery代码将提示来自
json['success']
的警报消息,并加载一个DIV层

否则,如果数据传递不正确,则会在页面上显示错误消息


让我知道这是否有助于你理解它。我使用Opencart。

jsmoove88。非常感谢。如果我有一个产品的强制性选项(单选按钮/复选框),那么在计算时,它只接受所选字段的数据。我不知道这是怎么计算的?我的意思是它如何知道这些字段被选中/选中?这种计算发生在/catalog/controller/checkout/cart中的Add()函数中。当访问者单击add按钮时,脚本将查看是否存在此用户的JSON中的现有数据,如果存在,则将获取产品信息,然后将其添加到一起。一旦添加,它将写回JSON数据。希望这有帮助。请注意,购物车的实际保存(
$this->cart->add($this->request->post['product\u id'],$quantity$option,$recurrency\u id);
-我正在寻找的那个)发生在库中的购物车中
library/cart/cart.php
再次
添加
函数和一组参数。jsmoove88。非常感谢。如果我有一个产品的强制性选项(单选按钮/复选框),那么在计算时,它只接受所选字段的数据。我不知道这是怎么计算的?我的意思是它如何知道这些字段被选中/选中?这种计算发生在/catalog/controller/checkout/cart中的Add()函数中。当访问者单击add按钮时,脚本将查看是否存在此用户的JSON中的现有数据,如果存在,则将获取产品信息,然后将其添加到一起。一旦添加,它将写回JSON数据。希望这有帮助。请注意,购物车的实际保存(
$this->cart->add($this->request->post['product\u id'],$quantity,$option,$recurrency\u id);
-我正在寻找的那个)发生在库中的购物车中
library/cart/cart.php
再次
添加
函数和一组参数。
<script type="text/javascript"><!--
$('#button-cart').bind('click', function() {
    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
        dataType: 'json',
        success: function(json) {
            $('.success, .warning, .attention, information, .error').remove();

            if (json['error']) {
                if (json['error']['option']) {
                    for (i in json['error']['option']) {
                        $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
                    }
                }
            } 
            alert(json['success']);
            if (json['success']) {
                $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/palioxis/image/close.png" alt="" class="close" /></div>');

                $('.success').fadeIn('slow');

                $('#cart-total').html(json['total']);

                $('html, body').animate({ scrollTop: 0 }, 'slow'); 
            }   
        }
    });
});
//--></script>