需要添加直接结帐,而不是在opencart 2.3.0.2中添加到购物车

时间:2017-03-12 08:30:44

标签: opencart checkout

opencart的原始代码: -

var cart = {
    'add': function(product_id, quantity) {
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
            dataType: 'json',
            beforeSend: function() {
                $('#cart > button').button('loading');
            },
            complete: function() {
                $('#cart > button').button('reset');
            },
            success: function(json) {
                $('.alert, .text-danger').remove();

                if (json['redirect']) {
                    location = json['redirect'];
                }

                if (json['success']) {
$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                    // Need to set timeout otherwise it wont update the total
                    setTimeout(function () {
                        $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
                    }, 100);

                    $('html, body').animate({ scrollTop: 0 }, 'slow');

                    $('#cart > ul').load('index.php?route=common/cart/info ul li');
                }
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
            }
        });
    },

我尝试编辑这些方式,但它对前端没有影响,一切都是一样的 检查下面我试着在这里替换代码: -

    var cart = {
        'add': function(product_id, quantity) {
            $.ajax({
                url: 'index.php?route=checkout/cart/add',
                type: 'post',
                data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
                dataType: 'json',
                beforeSend: function() {
                    $('#cart > button').button('loading');
                },
                complete: function() {
                    $('#cart > button').button('reset');
                },
                success: function(json) {
                    $('.alert, .text-danger').remove();

                    if (json['redirect']) {
                        location = json['redirect'];
                    }
           //here i replaced the code
                    if (json['success']) {
                    window.location='index.php?route=checkout/checkout';
                    }
                },
                error: function(xhr, ajaxOptions, thrownError) {
                    alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                }
            });
        },

任何人都可以帮助我解决这些opencart 2.3.0.2问题.. ??

2 个答案:

答案 0 :(得分:0)

使用下面的代码替换已经更改的重定向功能

window.location='index.php?route=checkout/checkout';

使用此代码,这将重定向到您的结帐。

location.href='index.php?route=checkout/checkout';

答案 1 :(得分:0)

这应该有效,我在2.3.0.2并且在成功声明中有多个商店使用它来点击添加到购物车后重定向到购物车页面。

  window.location.href = "index.php?route=checkout/cart"; 

显然你想把它改成:

  window.location.href = "index.php?route=checkout/checkout";
祝你好运!