Привет, птичка золотая!
Проблема, с которой вы столкнулись, заключается в том, что product.collections
- это массив объектов Collection, когда вы обращаетесь к нему в Liquid, и ни один объект коллекции никогда не будет равен строковому значению.
К счастью, мы можем легко создать массив дескрипторов, используя фильтр map
, и присвоить его переменной, например:
{% assign collection_list = product.collections | map: 'handle' %}
{% if collection_list contains 'snack-bars' %}
...
Приведенный выше фильтр map
создаст новый массив, используя только то значение, которое вы ему передаете, поэтому переменная collection_list
будет представлять собой массив просто-на-ручку. Поскольку handle
является строкой, мы можем использовать contains
, как ожидается, чтобы увидеть, находится ли требуемое значение в списке.
Надеюсь, это поможет!