Shopify点击“结账”按钮后再次运行循环

Shopify run for loop again after clicking Check-Out button

本文关键字:运行 循环 按钮 点击 结账 Shopify      更新时间:2024-06-13

我想在点击结账按钮后再次运行此for循环,以检查数量是否为2或更少,从而设置check_nike=true。在客户将产品数量设置为2后,这是否可以在不重新加载侧面的情况下实现?

 {% for item in cart.items %}
              {% if item.title contains 'nike' %}
              {% if item.quantity > 2  %}
                  {% assign check_nike = false %}
              {% endif %}
           {% endif %}
      {% endfor %}

尽管我已经在我的主题中实现了这一点。液体

$('body').on('click', '[name="checkout"], [name="goto_pp"], [name="goto_gc"]', function() {
    if ($('#agree').is(':checked') && {{check_nike}} == true ) {
      $(this).submit();
    }
    else {
      if({{check_nike}} == false){
       alert("You can't only order two Nike products");
      }
      else{
        document.getElementById("centerbox1").className += " forgottocheck";
      }
      return false;
    }
});
</script>

感谢:)

您不能在JavaScript中为任何客户端活动使用流动代码{{ check_nike }}。相反,您可以尝试检查Shopify的cart.js文件。

每当将产品添加到购物车时,请使用GET,如-所示https://docs.shopify.com/themes/development/getting-started/using-ajax-api#get-购物车,看看你的具体条件是否匹配。

更进一步,您还可以使用localStorage或cookie,通过在本地存储特定的购物车信息来减少GET调用的次数。