获取购物车中 product.id 的数组

Get an array of product.id that are in the cart

我正在尝试循环我购物车中的所有 product.id。 我有一个不同的产品 product.id 但不同 line_item.

示例:

line.item[1]: 产品编号 2756695130141

line.item[2]: 产品编号 2756695130141

line.item[3]: 产品编号 2756702765085

line.item[4]: 产品编号 2756695130141

我想知道我有多少个不同的 productID(在本例中为 2)。我如何在 Liquid/Shopify 中执行此操作?

我认为这段代码可能对您有所帮助

{% for item in cart.items %}
      {{ item.id }} //This will return product id of items in cart
{% endfor %}

如果这不是您正在寻找的解决方案,请回复。

编辑

{% assign uniqueProductIdsArray= cart.items | map: 'id'| uniq  %}

最好的方法是使用数组。因为他们有 mapunique.

此代码将 return 唯一产品 ID 数组

{% assign uniqueProductIdsArray= cart.items | map: 'product_id'| uniq  %}

此代码将 return 串联的唯一产品 ID 字符串

{% assign uniqueProductIdsString= cart.items | map: 'product_id'| uniq | join: ', ' %}

关于 Array filters 液体的文档:https://help.shopify.com/themes/liquid/filters/array-filters

// 最简单的解决方案

{cart.items %}
中项目的百分比 {{item.product.id}} {% endfor %}`