首页 > 解决方案 > Shopify 购物车应删除所有捆绑产品,如果一个产品形式的捆绑被删除

问题描述

我在 shopify 中制作了自定义捆绑包,而不使用任何应用程序。当我单击添加到购物车时,所有这些 buld 产品都被移到购物车,但在购物车上没有任何特定的 if 或数据包在所有这些产品中通用,如果其中一个是,我可以用来从购物车中删除所有产品删除。我正在使用此脚本将产品添加到购物车中

$('.add_to_cart_btn').on('click',function(e){
e.preventDefault();
var prod_id = $(this).data('id');
var counter_sec = 0;
var open_crt = false;
var total = $('.variant_outer').length;
$('.variant_outer.grinding').each(function(index){
var qty = $(this).find('.qtybox').find('input').val();
if(qty >= 1){
  open_crt = true
  return false;
}
});
setTimeout(function(){
if(open_crt){
  var value = $('input[name="commercial"]:checked').val();
  if(value == 'yes'){
    value = 'For Commercial Use'
  }else{
    value = '';
  }
  if(value != ''){
    var data_value = {id:prod_id,quantity:1,properties:{"Commercial":value}};
  }else{
    var data_value = {id:prod_id,quantity:1};
  }
  $.ajax({
    type:"POST",
    url:'/cart/add.js',
    dataType:'json',
    data:data_value,
    async:false,
    success:function(cart){
      if(value == 'yes'){
        $.post('/cart/update.js',{attributes:{"customAttributes":"For Commercial Use"}},function() 
    {},'json')
      }
    }
   });
   $('.variant_outer').each(function(index){
    var qty = $(this).find('.qtybox').find('input').val();
    if(qty >= 1){
      var ids = $(this).find('.qtybox').data('id');
      $.ajax({
        type:"POST",
        url:'/cart/add.js',
        dataType:'json',
        data:{id:ids,quantity:qty},
        async:false,
        success:function(cart){
        }
      })
     }
     if(index == total - 1){
      cartDrawer();
    }
    })
   }else{
   $.fancybox.open({
    src:"#grinding_popup"
   })
  }
  },1500); 
 });

标签: shopifycartshopify-app

解决方案


进行捆绑的最简单方法是利用产品线项目属性。使用这些,您可以将捆绑在一起。在购物车更新代码中使用它。如果捆绑包中的某个产品被移除,您可以在订单项属性中查找捆绑包中其他产品的连接胶水。也删除它们。它非常简单,并确保您的捆绑具有一定的意义。


推荐阅读