OpenCart跳过“添加到购物车”,直接结帐

时间:2012-07-01 08:12:20

标签: php checkout opencart

我想知道是否可以跳过OpenCart中针对特定产品的“添加到购物车”步骤,当用户点击它们时,将其直接发送到结帐页面。但仅适用于特定产品。

谢谢,
伊拿克里斯

4 个答案:

答案 0 :(得分:1)

(这适用于opencart 1.5.2.x和1.5.3.x)

编辑文件:catalog / view / theme / yourtheme / template / product / product.tpl并进行以下修改:

找到代码:

if (json['success']) {
window.location='index.php?route=checkout/cart';
}

替换为以下代码:

if (json['success']) {
window.location='index.php?route=checkout/checkout';
}

好运

答案 1 :(得分:0)

我认为要执行此操作,您必须向管理员添加一个复选框,以记下您希望跳过该步骤的项目。然后,这将为您提供您需要跳过的项目列表。

当添加到购物车时,在Ajax调用php脚本中放置一个查询,将其添加到购物车,从这里您可以获取产品ID并检查是否是要跳过的项目之一,如果是,您可以标题重定向到结帐。

希望有所帮助

答案 2 :(得分:0)

对于opencart 2.0 在添加到购物车按钮旁边添加额外按钮,即立即购买 或者您可以在管理员中添加选项,该产品必须立即购买或添加到购物车按钮

分类页面 \目录\视图\主题\默认\模板\产品\ category.tpl 模块也一样

<button type="button" onclick="buynow('<?php echo $product['product_id']; ?>');">
     <i class="fa"></i> 
     <span class="hidden-xs hidden-sm hidden-md">Buy Now</span>
     </button> 
     <script>function buynow(pid){cart.add_buynow(pid);}</script>

产品页面 \目录\视图\主题\默认\模板\产品\ product.tpl

<button type="button" id="button_buy" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-primary btn-lg btn-block">Buy Now</button>


<script>
$("#button_buy").click(function(){
  $.ajax({
    url: 'index.php?route=checkout/cart/add',
    type: 'post',
    data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'),
    dataType: 'json',
    beforeSend: function() {
      $('#button-buy').button('loading');
    },    
    complete: function() {
      $('#loading-image').html('');
    },
    success: function(json) {

      $('.form-group').removeClass('has-error');

      if (json['error']) {
        if (json['error']['option']) {
          for (i in json['error']['option']) {
            var element = $('#input-option' + i.replace('_', '-'));

            if (element.parent().hasClass('input-group')) {
              element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
            } else {
              element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
            }
          }
        }

        if (json['error']['recurring']) {
          $('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
        }

        // Highlight any found errors
        $('.text-danger').parent().addClass('has-error');
      }

      if (json['success']) {location.href = 'index.php?route=checkout/checkout';  }
    }
  });
});
</script> 

答案 3 :(得分:0)

我正在使用OpenCart 2.3.0.2。可能是这个帮助某人

我添加了

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

提交opencart / upload / catalog / view / javascript / common.js文件 第168行。

它就像魅力一样。