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

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

<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 %}

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

Что вы, вероятно, хотите сделать, это получить объект, представляющий фактический элемент в списке. Быстрый переход к Liquidify от Shopify показывает нам, что 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 есть своя спина, когда речь заходит о том, какие есть разные возможные типы.

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

Другие вопросы по тегам