检查供应商是否存在于 shopify cart.js

Checking if vendor is present in shopify cart.js

我正在尝试使用 Javascript 来确定我的客户购物车中是否存在供应商,如下所示:

$.getJSON('/cart.js', function(cart) {

  var inArray = false;
  for (var i = 0; i < cart.length; i++) {
    if (cart[i].vendor === 'example') {
      inArray = true;
      break;
    }
  }
  alert(inArray);

});

如果我的购物车中有来自供应商 "example" 的产品,我的警报 returns 为假。任何人都可以阐明原因吗?

如果我这样做:

$.getJSON('/cart.js', function(cart) {

  $.each(cart.items, function(index, cartItem) {
    alert('This product is ' + cartItem.vendor);
  });

});

我会收到关于购物车中每件商品的供应商名称的提醒 - 我似乎无法检查它是否存在。

我知道我可以使用 liquid 相当轻松地获取此信息,但我想根据购物车中的供应商和当前时间(在用户机器上)限制 jQuery 日期选择器的交货日期所以我不得不使用 Javascript.

我很惊讶你的第一个脚本竟然能运行。您应该迭代 cart.items 而不是购物车。

for(var i = 0; i< cart.items.length; i++){
    if(cart.items[i].vendor == 'example'){
        inArray = true; 
        break;
    }
}