单击“签出”按钮后,Shopify将再次运行循环

时间:2016-04-14 07:13:26

标签: javascript for-loop shopify liquid

我想在点击结帐按钮后再次运行此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 %}

我虽然在我的theme.liquid

中实现了这个
$('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>

谢谢:)

1 个答案:

答案 0 :(得分:0)

您无法在JavaScript中使用液体代码{{ check_nike }}进行任何客户端活动。相反,您可以尝试检查Shopify的cart.js文件。

每当产品添加到购物车时,请使用GET,如{ - 3}}所示,查看您的具体情况是否匹配。

通过在本地存储特定购物车信息,您还可以使用localStorage或Cookie来减少GET来电次数。