遍历 collection 中的产品并找到最低价格(不包括 $0 价格)

Loop through products in collection and find lowest price (excluding $0 prices)

我有一个包含多个类别的 Shopify 网站。有些产品没有价格(Shopify 将其视为 0 美元)。所有 collection 都显示在首页上。我想遍历每个 collection 中的所有产品并输出最低价格(不包括 $0 值)。

我当前使用的数组是:

{% assign startingFrom = collection.products | sort: 'price' %}
{{ startingFrom[0].price_min | money_without_currency }}

不幸的是,这会捕获并输出 $0 值。

遍历高于 $0 的值并输出最低价格的最佳方法是什么?

我试图排除零值:

{% assign startingFrom = collection.products | sort: 'price' %}
{% if 'price' != 0.00 %}
 {{ startingFrom[0].price_min | money_without_currency }}
{% endif %}

这将输出 0.00 美元。

{% for product in collection.products %}
  {% if forloop.first %}
    {% assign lowest_price = product.price %}
  {% endif %}
  {% assign new_price = product.price %}
  {% if new_price < lowest_price and new_price != 0 %}
    {% assign lowest_price = new_price %}
  {% endif %}
{% endfor %}

它没有经过测试,但应该可以。

除非您的 collection 中的产品页面大小限制少于页面大小限制,否则您不能依赖这种方式。

参见Shopify: Getting highest price item from collection

下的讨论和解决方案