如何在加载主页时清除 Shopify 购物车?

问题描述 投票:0回答:2

我是一名设计师,客户询问我是否可以帮助他们实现商店的某些功能。

他们的商店只销售一种类型的产品,并提供不同的捆绑选项。由于顾客在任何给定时间只会从商店购买 1 件产品,因此他们问我是否可以拥有它,以便在任何给定时间购物车中只能有 1 件产品,以及顾客是否要从结账页面(或任何其他页面)并选择不同的产品捆绑包,它会将其他产品从购物车中删除。

我的网站上没有任何 AJAX 购物车商品(抽屉、滑出式购物车等),因此这里可以选择使用 AJAX。除了 HTML、CSS 和一些基本 JS 之外,我的知识非常有限。

以我有限的知识,我认为运行一个在主页加载时清除购物车的脚本会很好,因为网站上实际上只有 3 个页面,即主页、购物车页面和结帐页面。这是我找到的代码,但我不确定如何实现它或者它是否能工作:

$(document).ready(function() {
  $('.clear-cart').on('load',function(e){
    e.preventDefault();
    $.ajax({
      type: "POST",
      url: '/cart/clear.js',
      success: function(){
        alert('I cleared the cart!');
      },
      dataType: 'json'
    });
  })
});

非常感谢您为帮助这个有需要的菜鸟所做的努力!

javascript ajax shopify
2个回答
0
投票

您需要检查页面的类,就像在默认首次亮相主题上一样,它使用类

template-index
作为索引页面(又名主页)。

并将条件添加到代码中进行检查。

$(document).ready(function() {
  $(document).on('load',function(e){
    if( !$('body').hasClass('template-index') ){
       return;
    }
    e.preventDefault();
    $.ajax({
      type: "POST",
      url: '/cart/clear.js',
      success: function(){
        alert('I cleared the cart!');
      },
      dataType: 'json'
    });
  })
});

0
投票

想知道是否有人可以帮助我做到这一点,而不是登陆特定页面,而是在 30 分钟后清除购物车?

© www.soinside.com 2019 - 2024. All rights reserved.