如何使用数组过滤器“何处”选择没有图像的变体?

时间:2019-08-03 01:03:00

标签: arrays shopify liquid

我想从我的产品对象创建一个数组,其中的变体没有任何图像。

{% assign test_arr = product.variants | where: 'images.size', 0 %}

“ where”过滤器应该给我一个新数组,该数组仅包含没有图像的“ variant”。

1 个答案:

答案 0 :(得分:0)

Shopify Docs for Where中所述,它只能与属性值一起使用,而variant.image本身是 image 类型的对象。

  

创建一个仅包含具有给定属性的对象的数组   值,或者默认为任何真实值。

此外,如果用于变体的图像不存在,则为 nil Nil - Shopify Docs

  

Nil是一个特殊的空值,当Liquid代码没有   结果。它不是带有字符“ nil”的字符串。

因此,我认为唯一可能的解决方案是使用循环并捕获或输出所需的任何内容。

{% for variant in product.variants %}
    {% if variant.image == nil %}
        {{ variant.title }}
    {% endif %}
{% endfor %}