当前位置: 首页 > 知识库问答 >
问题:

Opencart-购物车中的即时更新数量

嵇浩然
2023-03-14

对于标准的opencart行为,在cart中添加产品后,用户需要手动点击update按钮进行数量更新。有关示例,请参阅http://demo.opencart.com/。但是,我想更改为当我改变数量时,推车信息可以立即刷新。我尝试过以下代码,但它不起作用:

  1. 对于Catalog/View/Theme/Default/Template/Checkout/cart.tpl,我已更新:

button type=“submit”data-toggle=“tooltip”title=“”class=“btn btn-primary”>i class=“fa fa-refresh”>/button>

(不知道为什么我不能将代码正确地粘贴在上面的行上。我已经删除了一些<以使其显示)

<button type="button" data-toggle="tooltip" title="<?php echo $button_update; ?>" class="btn btn-primary" onchange="cart.update('<?php echo $product['key']; ?>', '<?php echo $product['quantity']; ?>');"><i class="fa fa-refresh"></i></button>

有一个函数

var cart = {
  //skip some lines for other function
    'update': function(key, quantity) {
        $.ajax({
            url: 'index.php?route=checkout/cart/edit',
            type: 'post',
            data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
            dataType: 'json',
            beforeSend: function() {
                $('#cart > button').button('loading');
            },
            complete: function() {
                $('#cart > button').button('reset');
            },          
            success: function(json) {
                // Need to set timeout otherwise it wont update the total
                setTimeout(function () {
                    $('#cart > button').html('<img src="image/catalog/content/cart/quote-icon.png" alt="quote"><span class="badge badge-giftu rounded-x">' + json['totallines'] + '</span>');
                }, 100);

                if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                } else {
                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                }
            }
        });
    },
}

我试过如果我在on.change函数下更改为cart.remove,它可以工作。但是,它对cart.udpate不起作用。有人知道触发ajax更新的问题是什么吗?

共有1个答案

司徒钱青
2023-03-14

我自己有这样一个问题就这样解决了

旧代码(我自定义了它们):

<input type="text" name="quantity[<?php echo $product['key']; ?>]" value="<?php echo $product['quantity']; ?>" size="1" class="form-control"/>
<span class="input-group-btn">
<button type="submit" data-toggle="tooltip" title="<?php echo $button_update; ?>" class="btn btn-primary"><i class="fa fa-refresh"></i></button>
<button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"
        onclick="cart.remove('<?php echo $product['key']; ?>');"><i class="fa fa-times-circle"></i></button>

新代码(固定)在输入时查看并删除(如果他也不工作,则button type=“button”)

<input type="text" name="quantity[<?php echo $product['cart_id']; ?>]" value="<?php echo $product['quantity']; ?>" 
       size="1" class="form-control"/>
<span class="input-group-btn">
    <button type="submit" data-toggle="tooltip" title="<?php echo $button_update; ?>" 
            class="btn btn-primary"><i class="fa fa-refresh"></i></button>
    <button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>" class="btn btn-danger"
            onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i class="fa fa-times-circle"></i></button>

有一个问题,错误地给出了字段的符号,必须将键放入cart_id中

 类似资料:
  • 我正在跟随Laravel的购物车教程,但即使我已经将他的代码复制到了点子上,它也不像教程中那样工作。每次你点击一个产品时,购物车的数量应该会增加,但事实并非如此。 我正在学习Max Schwarzmueller的“Laravel购物车”教程,您可以在youtube上找到:https://www.youtube.com/watch?v=56TizEw2LgI 我是php、laravel和sessio

  • 我正在用PHP编写一个自定义购物车,我将产品信息添加到购物车会话中,如下所示: 我的挑战是:如果产品已经存在于$\u SESSION['cart]数组中,我想更新产品的价格和数量($qty),而不是添加它。像这样的

  • 我有一个购物车,目前允许我添加产品,删除产品,并与一个产品在车上,我可以改变其数量。 然而,如果我在购物车中有两个产品,我试图改变第一个项目的数量,网站就会崩溃。它不会用新的数量重新加载页面,它只是超时,你不能再点击网站上的任何其他链接。 显示数量的代码为: 处理这个问题的代码如下: 我在这里查看了答案,但没有找到解决方案。有人能帮我吗?我会尽力提供可能需要帮助的任何其他信息。 我只是想澄清一下,

  • 我有一个Android购物应用程序,可以根据库存中产品的可用性来购买产品。最后,我需要扣除购物车上的产品数量,并更新数据库中该商品的数量。问题是,它当前更新了购物车中最后一件商品的数量的数据库值。如何让它更新购物车中商品数量的所有数据库值?。请有人帮帮我。Bellow是执行此操作的类的代码。

  • 问题内容: 我想用OpenCart 2.0.1.1中的加号和减号2个按钮替换添加到购物车,现在我无法正确编码减号按钮。我在其中添加了加号和减号按钮并进行调用,并在其中添加了类似网址,其余代码在下面 问题答案: 为了减少您的产品数量,您需要和数量。要减少数量,我们需要检查数量是否大于1(如果大于1),那么我们可以减少数量,否则,如果数量只有1,我们需要删除整个产品。 您需要更改的是在视图页面上添加加

  • 在WooCommerce中,我希望有一个复选框,当按下时,它会将一个产品添加到我的购物车中,并且该产品的价格是购物车总价格的3%。 基于“在Woocommerce结帐页面中将产品添加到购物车的复选框字段”回答线程,并进行了一些编辑以满足我的需要,以下是我的代码: 它添加产品精细,一切都好。然而,当我设定价格时,它没有更新。 好的,这是未选中的复选框。 这是选中后的复选框。如您所见,项目的值为46.