在集合页面上显示产品的购物车中的商品数量

时间:2014-10-14 18:09:21

标签: shopify liquid

我需要一些帮助,我想做的最好描述如下:

When on the collections page
If Product X is added 2 times to the cart
Then add the number 2 next to that product
So the customer knows what products are already inside the cart

所以基本上,如果看一下收藏页面,我希望能够看到已经添加到购物车中的产品。

我试过这个:

<!-- From 'product-grid-item.liquid' of the default Supply theme -->

{% assign count = 0 %}

{% for item in cart.items %}
  {% if product.variants.first.id == item.id %}
    {% assign count = count | plus: 1 %}
  {% endif  %}
{% endfor %}

{% if count > 0 %}<span>{{ count }}</span>{% endif %}

但它只是为产品X返回1。它应该返回2,因为它被添加了两次。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

这是工作代码:

{% assign count = 0 %}

{% for item in cart.items %}
  {% if product.id == item.product.id %}
    {% assign count = count | plus: item.quantity %}
  {% endif  %}
{% endfor %}

{% if count > 0 %}<span>{{ count }}</span>{% endif %}

答案 1 :(得分:1)

这是因为cart.items会返回订单项。因此每个唯一商品ID只会返回一次。如果您想计算任何商品ID的总商品数量,您需要查看line_item.quantity。参考docs.shopify.com/themes/liquid-documentation/objects/cart