Альтернативный метод для достижения ваших исключений:
Если вы дадите своим коллекциям какой-то флаг, указывающий, что они не должны отображаться в цикле сбора, вы можете управлять каждой коллекцией напрямую, а не поддерживать отдельный список.
Если мы посмотрим на страницу коллекции в вашем администраторе, мы не получим много полезного: все, что мы видим, это такие вещи, как заголовок, описание и т. Д. Даже нет места, где можно присвоить коллекции определенный тег!
К счастью, коллекции могут иметь метаполя - в Shopify эта функция скрыта от обычных пользователей. Метаполи позволяют вам создавать дополнительную информацию для объектов в вашем магазине (товары, коллекции, страницы и т. Д.), На которые вы затем можете ссылаться через Liquid.
Подробнее об использовании метаполей в Shopify можно прочитать здесь: https://www.shopify.com/partners/blog/110057030-using-metafields-in-your-shopify-theme
Моим предыдущим любимым плагином для доступа к метаполям был ShopifyFD, расширение для браузера, которое позволяло вам просматривать и редактировать эти метаданные прямо на странице вашей коллекции, но, к сожалению, недавние изменения Shopify для администратора нарушили этот плагин. Автор работает над новой версией, но на момент написания статьи она еще не готова: https://freakdesign.com.au/blogs/news/shopifyfd-and-the-current-case-of-the-broken-tool
(Примечание: я не пробовал ни один из других инструментов редактирования мета-полей, перечисленных в приведенной выше статье - когда у ShopifyFD возникли проблемы, я начал выполнять редактирование мета-поля с помощью API администратора и самостоятельно создавать / публиковать запросы: https://help.shopify.com/en/api/reference/metafield)
Если у вас есть способ легко устанавливать метаполя (что, на удивление, кажется сейчас трудной частью), ваша логика цикла for становится чрезвычайно простой. Предположим, что метаполе, которое вы создаете для этой цели, имеет пространство имен «Предварительный просмотр» и ключ «исключить»:
{% for collection in collections %}
{% if collection.metafields.preview.exclude %}
{% continue %}
{% endif %}
{% comment %} Do stuff! {% endcomment %}
{% endfor %}
Теперь это будет пропускать любую коллекцию, для которой в вашем настраиваемом поле установлено любое значение, поэтому, если вы передумаете о текущей или будущей коллекции, все, что нужно изменить, - это одно метаполе в самой коллекции.