Shopify: Как показать конкретную коллекцию в шаблоне коллекции

Я редактирую файл Section / collection-template.liquid (на этот файл ссылается файл шаблона "collection.liquid").

Моя цель - показать конкретную коллекцию по ее названию.

Я пробовал несколько разных вещей, которые нашел в Интернете, но они немного устарели, поэтому я предполагаю, что они изменились, хотя, возможно, я просто делаю это неправильно.

Я пробовал изменить существующий цикл For с:

{% for product in collection.products %}

To:

{% for product in collection['Collection Title'].products %}

Но этот метод, похоже, больше не работает, хотя в предыдущих сообщениях на форуме он упоминался.

Затем я попытался оставить цикл For таким, каким он был, а затем сразу же разместить оператор If вокруг вызовов, чтобы получить сведения о продукте ... хотя, похоже, редактирование цикла For было бы лучшим из двух подходов.

{% if collection.title == 'Collection Title' %} ... {% endif %}
{% if collection.title contains 'Collection Title' %} ... {% endif %}

Ни в одной из этих попыток ничего не обнаружилось.


person jhawes    schedule 06.04.2018    source источник


Ответы (2)


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

{{ collections['the-handle'].url }}

Итак, чтобы добиться того, чего вы хотите, вот что вы можете сделать:

{% assign collection_handle = 'the-handle-of-collection-you-want' %}
{% for product in collections[collection_handle].products %}
    Do your stuff
{% endfor %}

Обратите внимание, что вы не можете получить доступ к коллекции через ее заголовок. Только ручка.

Подробнее о том, что такое ручка: https://help.shopify.com/themes/liquid/basics/handle

HTH

person Alice Girard    schedule 12.04.2018

Привет, я пробую приведенный выше код, но кажется, что ничего не выходит. Однако, когда я протягиваю ручку вручную, как коробку с едой для спортсмена, она работает.

Я пробую это:

{% for product in collections["pro-athlete-meal-box"].products %} -- works

{% for product in collections[collectionHandle].products %} -- doesn't work
person Pedro Carrera    schedule 05.03.2021