Переменная collection, соответствует категории из каталога товаров в разделе Товары. К конктерной категории можно обратиться по пермалинку.
collection.id - id коллекции
collection.url - URL коллекции
collection.handle - пермалинк коллекции
<a href="{{ collection.url }}">{{ collection.title }}</a>
collection.description - описание категории.
collection.seo_description - дополнительное описание категории.
collection.title - название категории.
collection.page_title - html-тег title страницы категории.
collection.meta_description - значение мета тега description категории.
collection.meta_keywords - значение мета тега keywords категории.
collection.image - изображение категории. Задается в настройках категории.
collection.recursive? - включена ли настройка "Содержит товары из подкатегорий"
collection.products - товары категории.
{% for product in collection.products %} {% include 'product_preview' %} {% endfor %}
collection.products_count - количество товаров в данной категории.
collection.products_price_min - минимальная цена товара в категории.
collection.products_price_max - максимальная цена товара в категории.
collection.current_collections - массив родительских категорий, включая текущую (каждый элемент массива в свою очередь является объектом типа collection).
collection.current? - является ли категория текущей (true/false) - является ли категория, в которой находится покупатель, вложенной в категорию collection
collection.subcollections - подколлекции данной категории
collection.level - уровень вложенности категории (начинается с 1)
collection.parent - родительская категория (объект типа collection)
collection.current_collections - список текущих категорий (полезно в случае многоуровневой структуры каталога), например для вывода хлебных крошек:
{% for collection in current_collections %} <a href="{{ collection.url }}">{{ collection.title }}</a> {% endfor %}
collection.first? - первая ли категория среди подкатегорий родительской категории. Метод используется только в выводе дерева категорий через collections.flatten. (Пример вывода дерева категорий)
collection.last? - последняя ли категория среди подкатегорий родительской категории. Метод используется только в выводе дерева категорий через collections.flatten. (Пример вывода дерева категорий)
collection.show? - нужно ли показывать категорию при отображения дерева. Истина, если это категория верхнего уровня, текущая или родительская категория является текущей. Метод используется только в выводе дерева категорий через collections.flatten. (Пример вывода дерева категорий)
collection.level_difference? - возвращает разницу уровней между текущей и предыдущей категорией, по сути число означает сколько закрывающих тегов надо вывести при отображении дерева. Метод используется только в выводе дерева категорий через collections.flatten. (Пример вывода дерева категорий)
{% if collection.subcollections.size > 0 %} - есть ли у категории подкатегории. Метод используется только в выводе дерева категорий через collections.flatten.
collection.previous_product и collection.next_product - предыдущий и следующий товары. При помощи этих методов можно организовать в карточке товара переход к предыдущему и следующему (горизонтальная навигация):
{% if collection.products.size > 1 %}
<div class="prods-paginate">
<a href="{% if collection.previous_product.url %}{{ collection.previous_product.url }}
{% else %}
{{ collection.products.last.url }}{% endif %}" class="fl"><span class="prev">⟨</span>предыдущий товар</a>
<a href="{% if collection.next_product.url %}{{ collection.next_product.url }}
{% else %}
{{ collection.products.first.url }}{% endif %}" class="fr">следующий товар<span class="next">⟩</span></a>
</div>
{% endif %}
collections.properties - параметры всех товаров категории.
collection.options - свойства всех товаров категории.
collection.filters - массив всех seo-фильтров категории.
collection.fields - возвращает дополнительные поля категории в формате пермалинк:значение
Например, есть поле "Название книги", с пермалинком - "book" и со значением для конкретной категории "Как увеличить продажи в интернете"
{{ collection.fields.book.value }} // Выведет "Как увеличить продажи в интернете" {{ collection.fields.book.title }} // Выведет "Название книги"
Также можно перебрать циклом:
{% for field in collection.fields %}
{% if field.value != blank %} <div class="title">{{field.title}}</div> <div class="content"> {{field.value}} </div> {% endif %}
{% endfor %}
collection.properties - все параметры товаров категории.
Например, вывод всех параметров товаров категории вместе с их значениями:
{%for property in collection.properties %} {{property.name}}: {%for item in property.characteristics%}{{item.name}},{%endfor%} {%endfor%}
Вывод фильтра по параметрам выпадающими списками (select):
<form id="characteristics" action="{{collection.url}}" method="get">
<ul>
{% for property in collection.properties %}
<li>
<label for="characteristics[]">{{property.title}} : </label>
<select name="characteristics[]" class="characteristic">
<option value="">выберите</option>
{% for characteristic in property.characteristics %}
<option value="{{characteristic.id}}"
{% if characteristic.current? %} selected="selected" {% endif %}>
{{characteristic.title}} ({{characteristic.products_count}})</option>
{% endfor %}
</select>
</li>
{% endfor%}
</ul>
</form>
Вывод значения для конкретного параметра (с пермалинком 'vendor') (считаем, что для данного параметра только одно значение) :
{{collection.properties.vendor.name}}: {{collection.properties.vendor.characteristics.first.name}}
collection.current_characteristics - массив текущих значений параметров при фильтрации (каждый элемент массива является объектом типа characteristics).
collection.current_option_values - массив текущих значений свойств при фильтрации (каждый элемент массива является объектом типа option_value)
Полезно для того чтобы не потерять уже выбранные в фильтре свойства при применении другой формы:
{% for characteristic in collection.current_characteristics %}
<input type="hidden" name="characteristics[]" value="{{characteristic.id}}"
{% endfor %}
{% for value in collection.current_option_values %}
<input type="hidden" name="options[{{value.option_name.id}}][]" value="{{value.id}}"
{% endfor %}
collection.options - все свойства товаров категории.
collection.current_option_values- массив свойств в фильтрации.
Вывод всех свойств товаров категории вместе с их значениями:
{%for option in collection.options %} {{ option.title }} :
{% for value in option.values %}{{ value.title }}{% if forloop.last %}{% else %},{% endif %} {% endfor %} {%endfor%}