Ориентация на коллекцию - жидкость - PullRequest
0 голосов
/ 17 сентября 2018

Привет Shopify Pals!

У меня есть веб-сайт: https://www.blakesseedbased.com/ (пароль: TopSecretPass)

Цель: У нас будут продукты, которые различаются по количеству, и мы хотели бы отображать эту информацию о количестве между названием продукта и ценой из рекомендуемых продуктов на главной странице (малина, шоколадная стружка, ананас).

Выпуск: В настоящее время мы можем добавить контент в эту область, но мы не можем заставить работать оператор if else правильно. У нас есть коллекция, которая называется Snack Bars, однако наша логика не распознает это и вводит правильный код. Мы попытались изменить коллекционные закусочные на закусочные и закусочные, но безуспешно.

Логика: Если товар из коллекции Snack Bar, добавьте количество в коробке (поле из 12). В противном случае добавьте «нет количества»

Код:

{% if product.collections contains 'snack-bars' %}
         <span>Box of 12</span>
{% else %}
          No Box Amount
{% endif %}

Заранее спасибо !!

1 Ответ

0 голосов
/ 17 сентября 2018

Привет, птичка золотая!

Проблема, с которой вы столкнулись, заключается в том, что product.collections - это массив объектов Collection, когда вы обращаетесь к нему в Liquid, и ни один объект коллекции никогда не будет равен строковому значению.

К счастью, мы можем легко создать массив дескрипторов, используя фильтр map, и присвоить его переменной, например:

{% assign collection_list = product.collections | map: 'handle' %}
{% if collection_list contains 'snack-bars' %}
...

Приведенный выше фильтр map создаст новый массив, используя только то значение, которое вы ему передаете, поэтому переменная collection_list будет представлять собой массив просто-на-ручку. Поскольку handle является строкой, мы можем использовать contains, как ожидается, чтобы увидеть, находится ли требуемое значение в списке.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...