Я хочу показать продукты через коллекцию списков ссылок?

Я был в цикле по массиву коллекций и пытался получить продукты каждой коллекции, но это все еще не работает ??

<div class="products_nav">
{% capture collections_list %}
{% for link in linklists[block.settings.meganav_link].links %}
{{ link.title }}
{% endfor %}
{% endcapture %}

{% assign collections_array = collections_list  %}

{% for products in collections_array %}

{% for category in products %}
{% for product in collections[category].products %}
{% include 'product-grid-item' %}
{% endfor %}
{% endfor %}

{% endfor %}
</div>

-1

Решение

capture Команда захватит вывод всего между {% capture x %} а также {% endcapture %} как текст и назначить этот текст переменной x, Итак, ваш код:

{% capture collections_list %}
{% for link in linklists[block.settings.meganav_link].links %}
{{ link.title }}
{% endfor %}
{% endcapture %}

…будет захватывать только серию разрывов строк и заголовков ссылок, так как это весь текст, который печатается.

Что вы, вероятно, хотите сделать, это получить объект, представляющий фактический элемент в списке. Быстрый прыжок к Shopify’s Liquid Reference показывает нам, что link объекты имеют свойство удобно называть object, которая ссылается на то, на что указывает ссылка, — это может быть продукт, коллекция, страница или блог.

Если вы знаете, что каждая ссылка будет коллекцией, вы можете написать что-то вроде этого:

{% for link in linklists[block.settings.meganav_link].links %}
<h2>{{ link.title }}</h2>
{% assign linked_collection = link.object %}
{% for product in linked_collection.products %}
{% include 'product-grid-item' %}
{% endfor %}
{% endfor %}

Если ваш список ссылок более сложный и существует сочетание типов объектов, вы, вероятно, захотите проверить link.type и действуйте соответственно. Опять же, у Shopify Liquid Reference есть своя спина, когда дело доходит до того, какие есть разные возможные типы.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]