Product

Переменные доступные в шаблоне product.liquid, а так же в цикле продуктов коллекции.

Product

Данные о товаре

product.available Если ли товар в наличии. boolean

Если ли товар в наличии.
Liquid
        
          

{% if product.available %}
  Товар в наличии
  {% else %}
  Товара нет в наличии
{% endif %}

product.collections Список категорий, в которых выставлен товар. array

Список категорий, в которых выставлен товар.
Liquid
        
          

{% for collection in product.collections %}
  {{ collection.title }}
{% endfor %}

product.description Описание товара. <html>

Описание товара.
Liquid
        
          

На странице товара:
{{ product.description }}

 

Внутри массива товаров:
{% for product in collection.products %}
  {{ product.description }}
{% endfor %}

product.first_image Первое (основное) изображение товара. string

Первое (основное) изображение товара.
Liquid
        
          

Ссылка на первое изображение товара:
{{ product.first_image.medium_url }}

Имя первого изображения товара:
{{ product.first_image.title }}

Имя файла первого изображения товара:
{{ product.first_image.file_name}}

Возможные размеры:

48x48 small_url

100x100 thumb_url

160x160 compact_url

240x240 medium_url

480x480 large_url

original image original_url

 

product.handle Пермалинк товара (название товара в URL) string

Пермалинк товара (название товара в URL)
Liquid
        
          

Ссылка на товар - demo.myinsales.ru/product/my_product
{{ product.handle }}
>> my_product

product.id Идентификатор товара (уникальный числовой номер). number

Идентификатор товара (уникальный числовой номер).
Liquid
        
          

<form action="{{ cart_url }}" method="post" data-product-id="{{ product.id }}">
  {% if product.show_variants? %}
    <select name="variant_id" data-product-variants>
      {% for variant in product.variants %}
        <option value="{{ variant.id }}">{{ variant.title | escape }}</option>
      {% endfor %}
    </select>
  {% else %}
    <input type="hidden" name="variant_id" value="{{product.variants.first.id}}" >
  {% endif %}
  <input type="text" name="comment" value="">
  <div data-quantity>
    <input type="text" name="quantity" value="1" />
    <span data-quantity-change="-1">-</span>
    <span data-quantity-change="1">+</span>
  </div>
  <button type="submit" data-item-add>
    Добавить в корзину
  </button>
</form>

product.images Массив изображений товара Возможные размеры: 48x48 small_url 100x100 thumb_url 160x160 compact_url 240x240 medium_url 480x480 large_url original image original_url array

Массив изображений товара

Возможные размеры:

48x48 small_url

100x100 thumb_url

160x160 compact_url

240x240 medium_url

480x480 large_url

original image original_url
Liquid
        
          

<div class="images">
{% for image in product.images %}
  <div class="images-item">
    <img src="{{ image.large_url }}" alt="{{ image.title }} " />
  </div>
{% endfor %}
</div>

product.meta_description string

meta description страницы товара

Liquid
        
          

<meta name="description" content="{{ product.meta_description }}">

На всём сайте следует пользваться следующим примером:
<meta name="description" content="{{ description }}">

product.meta_keywords string

meta keywords страницы товара

Liquid
        
          

{% if product.meta_keywords %}
  Meta keywords страницы товара: {{ product.meta_keywords }}
{% endif %}

product.old_price number

Старая цена товара (цена до скидки).

Liquid
        
          

{% if product.old_price %}
  Старая цена: {{ product.old_price | money }}
{% endif %}

product.old_price_max number

Максимальная старая цена товара (если несколько модификаций).

Liquid
        
          

{% if product.old_price_varies? %}
  {{ product.old_price_min }} - {{ product.old_price_max }}
  {% else %}
  {{ product.old_price }}
{% endif %}

product.old_price_min number

Минимальная старая цена товара (если несколько модификаций).

Liquid
        
          

{% if product.old_price_varies? %}
  {{ product.old_price_min }} - {{ product.old_price_max }}
  {% else %}
  {{ product.old_price }}
{% endif %}

product.old_price_varies? boolean

Отличаются ли старые цены на модификации у товара (если несколько модификаций).

Liquid
        
          

{% if product.old_price_varies? %}
  {{ product.old_price_min }} - {{ product.old_price_max }}
  {% else %}
  {{ product.old_price }}
{% endif %}

product.options array

Свойства товара. Например, вывод всех свойств товара вместе с их значениями

Liquid
        
          

{% for option in product.options %}
  {{ option.title }} : {% for value in option.values %}{{ value.title }}{% unless forloop.last %},{% endunless %}{% endfor %}
{% endfor %}

product.price number

Цена товара (минимальная цена, если несколько модификаций).

Liquid
        
          {{ product.price | money }}
        
      

product.price_max number

Максимальная цена товара (если несколько модификаций).

Liquid
        
          

{% if product.price_varies? %}
  от {{ product.price_min | money }} до {{ product.price_max | money }}
{% endif %}

product.price_min number

Минимальная цена товара (если несколько модификаций).

Liquid
        
          

{% if product.price_varies? %}
  от {{ product.price_min | money }} до {{ product.price_max | money }}
{% endif %}

product.price_varies? boolean

Отличаются ли цены на модификации у товара (если несколько модификаций).

Liquid
        
          

{% if product.price_varies? %}
  от {{ product.price_min | money }} до {{ product.price_max | money }}
{% endif %}

product.properties object

Параметры товара.

Liquid
        
          

{% for property in product.properties %}
  {{property.name}}: {% for item in property.characteristics %}{{item.name}},{% endfor %}
{% endfor %}

Так же можно обращаться к параметру напрямую, зная его пермалинк (handle):

{{ product.properties.handle.characteristics.first.name }}

product.rating number

Рейтинг товара, основанный на отзывах.

Liquid
        
          

{% if product.rating %}
  Рейтинг товара: {{ product.rating }} 
{% endif %}

product.related_products array

Сопутствующие товары.

Liquid
        
          

{% if product.related_products.size > 0 %}
  <div class="related_products">
    <div class="related_products-title">
      Сопутствующие товары
    </div>
    <div class="related_products-slider">
      {% for product in product.related_products %}
        <div class="product_preview">
          <div class="product_preview-img">
            <a href="{{ product.url }}">
              <img src="{{ product.first_image.large_url }}" alt="{{ product.title }}" />
            </a>
          </div>
          <div class="product_preview-price">
            {{ product.price | money }}
          </div>
          <div class="product_preview-title">
            <a href="{{ product.url }}">
              {{ product.title }}
            </a>
          </div>
        </div>
      {% endfor %}
    </div>
  </div>
{% endif %}

product.reviews array

Массив отзывов на товар 

Liquid
        
          

{% if account.reviews_enabled? %}
  {% if product.reviews == empty %}
    <div class="notice notice--info">
      Пока нет отзывов
    </div>
  {% else %}
  <ul class="reviews-list">
    {% for review in product.reviews %}
    <li class="review">
      <div class="review-details">
        <span class="review-name">{{ review.author }}</span> {{ review.created_at | date: "%d.%m.%Y %H:%M" }}
      </div>
      
      <div class="review-content">
        {{ review.content | newline_to_br }}
      </div>
      
      {% if review.rating %}
      <div class="review-rating rating">
        Оценка: {{ review.rating }}
      </div>
      {% endif %}
    </li>
    {% endfor %}
  </ul>
  {% endif %}
{% endif %}

product.reviews_count number

Количество отзывов на товар.

Liquid
        
          

{% if product.reviews_count > 0 %}
<ul class="reviews-list">
    {% for review in product.reviews %}
    <li class="review">
      <div class="review-details">
        <span class="review-name">{{ review.author }}</span> {{ review.created_at | date: "%d.%m.%Y %H:%M" }}
      </div>
      
      <div class="review-content">
        {{ review.content | newline_to_br }}
      </div>
      
      {% if review.rating %}
      <div class="review-rating rating">
        Оценка: {{ review.rating }}
      </div>
      {% endif %}
    </li>
    {% endfor %}
  </ul>
{% endif %}

product.short_description string

Краткое описание товара.

Liquid
        
          

{% if product.short_description %}
  <div class="product-short_description">
    {{ product.short_description }}
  </div>
{% endif %}

product.show_variants? boolean

Есть ли модификации для отображения (true, если больше одной, либо если одна и она не является дефолтной базовой модификацией).

Liquid
        
          

{% if product.show_variants? %}
  <div class="product-variants">
    <select name="variant_id" id="variant-select">
      {% for variant in product.variants %}
        <option value="{{ variant.id }}">{{ variant.title | escape }}</option>
      {% endfor %}
    </select>
  </div>
{% else %}
  <input type="hidden" name="variant_id" value="{{ product.variants.first.id }}" />
{% endif %}

product.similar_products array

Аналогичные товары.

Liquid
        
          

{% if product.similar_products.size > 0 %}
  <div class="similar_products">
    <div class="similar_products-title">
      Аналогичные товары
    </div>
    <div class="similar_products-slider">
      {% for product in product.similar_products %}
        <div class="product_preview">
          <div class="product_preview-img">
            <a href="{{ product.url }}">
              <img src="{{ product.first_image.large_url }}" alt="{{ product.title }}" />
            </a>
          </div>
          <div class="product_preview-price">
            {{ product.price | money }}
          </div>
          <div class="product_preview-title">
            <a href="{{ product.url }}">
              {{ product.title }}
            </a>
          </div>
        </div>
      {% endfor %}
    </div>
  </div>
{% endif %}

product.title string

Название товара.

Liquid
        
          

<div class="product">
  <div class="product-title">
    {{ product.title }}
  </div>
  {% if product.description %}
  <div class="product-description">
    {{ product.description }}
  </div>
  {% endif %}
</div>

product | json object

JSON-объект товара.

js
        
          

// результат функции console.log({{product | json}}), использовать можно только в ликвид файле, а именно шаблоне product.liquid

{
 'id': 60749685,
 'url': '/collection/napitki/product/mokkachino',
 'title': 'Моккачино',
 'short_description': 'Мокаччи́но — кофейный напиток, созданный в Америке и являющийся разновидностью латте с добавлением шоколада.',
 'available': true,
 'unit': 'pce',
 'permalink': 'mokkachino',
 'images': [ {
   'created_at': '2016-06-16T14:06:21+03:00',
   'id': 82136971,
   'image_processing': false,
   'position': 1,
   'product_id': 60749685,
   'title': null,
   'url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/thumb_Mokkachino.jpg',
   'original_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/Mokkachino.jpg',
   'medium_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/medium_Mokkachino.jpg',
   'small_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/micro_Mokkachino.jpg',
   'thumb_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/thumb_Mokkachino.jpg',
   'compact_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/compact_Mokkachino.jpg',
   'large_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/large_Mokkachino.jpg',
   'filename': 'Mokkachino.jpg'
  } ],
 'first_image': {
  'created_at': '2016-06-16T14:06:21+03:00',
  'id': 82136971,
  'image_processing': false,
  'position': 1,
  'product_id': 60749685,
  'title': null,
  'url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/thumb_Mokkachino.jpg',
  'original_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/Mokkachino.jpg',
  'medium_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/medium_Mokkachino.jpg',
  'small_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/micro_Mokkachino.jpg',
  'thumb_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/thumb_Mokkachino.jpg',
  'compact_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/compact_Mokkachino.jpg',
  'large_url': 'https://static-eu.insales.ru/images/products/1/3979/82136971/large_Mokkachino.jpg',
  'filename': 'Mokkachino.jpg'
 },
 'category_id': 4911689,
 'canonical_url_collection_id': 5681718,
 'price_kinds': [ ],
 'option_names': [ {
   'id': 612392,
   'position': 1,
   'title': 'Размер'
  } ],
 'properties': [ {
   'backoffice': false,
   'id': 2018587,
   'is_hidden': false,
   'is_navigational': true,
   'position': 2,
   'permalink': 'ingredient',
   'title': 'Ингредиент'
  } ],
 'characteristics': [ {
   'id': 19611934,
   'property_id': 2018587,
   'position': 1,
   'title': 'шоколад',
   'permalink': 'shokolad'
  } ],
 'variants': [ {
   'id': 95292397,
   'available': true,
   'product_id': 60749685,
   'title': 'Стандарт',
   'base_price': '120.0',
   'prices': [   ],
   'price': '120.0',
   'old_price': null,
   'sku': null,
   'barcode': null,
   'option_values': [   {
     'id': 5954429,
     'option_name_id': 612392,
     'position': 8,
     'title': 'Стандарт'
    }   ],
   'quantity': null,
   'weight': null,
   'created_at': '2016-06-16T14:06:10+03:00',
   'updated_at': '2016-06-16T14:08:29+03:00'
  }, {
   'id': 95292614,
   'available': true,
   'product_id': 60749685,
   'title': 'Большой',
   'base_price': '150.0',
   'prices': [   ],
   'price': '150.0',
   'old_price': null,
   'sku': null,
   'barcode': null,
   'option_values': [   {
     'id': 5954430,
     'option_name_id': 612392,
     'position': 9,
     'title': 'Большой'
    }   ],
   'quantity': null,
   'weight': null,
   'created_at': '2016-06-16T14:08:40+03:00',
   'updated_at': '2016-06-16T14:08:44+03:00'
  } ]
}

product.unit string

Единица измерения товара. Доступные значения: "шт", "кг", "л; дм3", "м", "м2", "г", "т"

Liquid
        
          

{{ product.unit }}
>> шт

product.url string

URL продукта

Liquid
        
          

{% for product in collection.products %}
  <a href="{{ product.url }}">{{ product.title }}</a>
{% endfor %}

product.variants array

Модификации товара.

Liquid
        
          

{% if product.show_variants? %}
  <div class="product-variants">
    <select name="variant_id" id="variant-select">
      {% for variant in product.variants %}
        <option value="{{ variant.id }}">{{ variant.title | escape }}</option>
      {% endfor %}
    </select>
  </div>
{% else %}
  <input type="hidden" name="variant_id" value="{{ product.variants.first.id }}" />
{% endif %}

product.fields object

возвращает дополнительные поля товара в формате пермалинк:значение. Например, есть поле "Название книги", с пермалинком - "book" и со значением для конкретного товара "Как увеличить продажи в интернете"

Liquid
        
          

{{ product.fields.book.value }},{{ product.fields.book.title }}

>> "Как увеличить продажи в интернете","Название книги"

product.is_bundle Является ли товар комплектом? boolean

Является ли товар комплектом?
Liquid
        
          

{% if product.is_bundle %}
  <div class="bundle">
    <div class="bundle-title">
      Состав комплекта:
    </div>
    <div class="bundle-list">
      {% for bundle_component in product.bundle_components %}
      <div class="bundle-item">
        <div class="bundle-img">
          <img src="{{ bundle_component.product.first_image.medium_url }}" />
        </div>
        <div class="bundle-name">
          {{ bundle_component.product.title }}
        </div>
        <div class="bundle-price">
          {% if bundle_component.is_free %}
            В подарок
            {% else %}
            {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }}
          {% endif %}
        </div>
      </div>
      {% endfor %}
    </div>
    {% if product.bundle_discount < 0 %}
    <div class="bundle-discount">
        Экономия: {{ product.bundle_discount | money }}
    </div>
    {% endif %}
  </div>
{% endif %}

product.bundle_components Массив товаров входящих в комплект. array

Массив товаров входящих в комплект.
Liquid
        
          

{% if product.is_bundle %}
  <div class="bundle">
    <div class="bundle-title">
      Состав комплекта:
    </div>
    <div class="bundle-list">
      {% for bundle_component in product.bundle_components %}
      <div class="bundle-item">
        <div class="bundle-img">
          <img src="{{ bundle_component.product.first_image.medium_url }}" />
        </div>
        <div class="bundle-name">
          {{ bundle_component.product.title }}
        </div>
        <div class="bundle-price">
          {% if bundle_component.is_free %}
            В подарок
            {% else %}
            {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }}
          {% endif %}
        </div>
      </div>
      {% endfor %}
    </div>
    {% if product.bundle_discount < 0 %}
    <div class="bundle-discount">
        Экономия: {{ product.bundle_discount | money }}
    </div>
    {% endif %}
  </div>
{% endif %}

product.bundle_discount Разница между ценой за комплект и суммой всех товаров комплекта. Например если комплект стоит 500 р., а сумма всех товаров комплетка 1200 р., product.bundle_discount => 700 р.. Если комплект стоит 5000 р., а сумма всех товаров комплетка 2000 р., product.bundle_discount => -3000 р.. number

Разница между ценой за комплект и суммой всех товаров комплекта.
Например если комплект стоит 500 р., а сумма всех товаров комплетка 1200 р., product.bundle_discount => 700 р..
Если комплект стоит 5000 р., а сумма всех товаров комплетка 2000 р., product.bundle_discount => -3000 р..
Liquid
        
          

{% if product.is_bundle %}
  <div class="bundle">
    {% if product.bundle_discount < 0 %}
    <div class="bundle-discount">
      Экономия при покупке комплекта: {{ product.bundle_discount | money }}
    </div>
    {% endif %}
  </div>
{% endif %}

product.canonical_collection Каноническая категория товара object

Каноническая категория товара
Liquid
        
          

<a href="{{ product.canonical_collection.url }}">
  {{ product.canonical_collection.title }}
</a>

product.base_price Значение типа базовой(первой) типа цены. Актуально если используются дополнительные(priceN) типы цен в разделе Настройки - Типы цен number

Значение типа базовой(первой) типа цены. Актуально если используются дополнительные(priceN) типы цен в разделе Настройки - Типы цен

Значение типа базовой(первой) типа цены. Актуально если используются дополнительные(priceN) типы цен в разделе Настройки - Типы цен

product.related_articles Список статей, к которым привязан товар array

Список статей, к которым привязан товар

product.variants.size Количество модификаций number

Количество модификаций
Liquid
        
          

Кол-во модификаций: {{ product.variants.size }} 

variant in product.variants

Модификации товара

variant.id Id модификации number

Id модификации
Liquid
        
          

{% if product.show_variants? %}
  <div class="product-variants">
    <select name="variant_id" id="variant-select">
      {% for variant in product.variants %}
        <option value="{{ variant.id }}">{{ variant.title | escape }}</option>
      {% endfor %}
    </select>
  </div>
{% else %}
  <input type="hidden" name="variant_id" value="{{ product.variants.first.id }}" />
{% endif %}

variant.available boolean

Есть ли в наличии

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      <div class="variant-available">
        {% if variant.available %}
          {% assign variant_available = 'в наличии' %}
          {% else %}
          {% assign variant_available = 'нет в наличии' %}
        {% endif %}
        Наличие: {{ variant_available }}
      </div>
    </div>
  {% endfor %}
  </div>
</div>

variant.weight number

Вес модификации

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      {% if variant.weight %}
        <div class="variant-old_price">
          Вес модификации: {{ variant.weight }} {{ product.unit }}
        </div>
      {% endif %}
    </div>
  {% endfor %}
  </div>
</div>

variant.title string

Название модификации

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      <div class="variant-available">
        {% if variant.available %}
          {% assign variant_available = 'в наличии' %}
          {% else %}
          {% assign variant_available = 'нет в наличии' %}
        {% endif %}
        Наличие: {{ variant_available }}
      </div>
      <div class="variant-quantity">
        {% if variant.quantity %}
          {% assign variant_quantity = variant.quantity %}
          {% else %}
          {% assign variant_quantity = 'много' %}
        {% endif %}
        Остаток: {{ variant_quantity }}
      </div>
      {% if variant.sku %}
        <div class="variant-sku">
          Артикул: {{ variant.sku }}
        </div>
      {% endif %}
      {% if variant.barcode %}
        <div class="variant-barcode">
          Штрих-код: {{ variant.barcode }}
        </div>
      {% endif %}
      <div class="variant-price">
        Цена модификации: {{ variant.price | money }}
      </div>
      {% if variant.old_price %}
        <div class="variant-old_price">
          Старая цена модификации: {{ variant.old_price | money }}
        </div>
      {% endif %}
      {% if variant.weight %}
        <div class="variant-old_price">
          Вес модификации: {{ variant.weight }} {{ product.unit }}
        </div>
      {% endif %}
    </div>
  {% endfor %}
  </div>
</div>

variant.price number

Цена модификации

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      <div class="variant-price">
        Цена модификации: {{ variant.price | money }}
      </div>
    </div>
  {% endfor %}
  </div>
</div>

variant.option_values array

Массив значений свойств товара, характеризующих данную модификацию.

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-option_values">
  {% for variant in product.variants %}
    <div>
      Модификация: {{ variant.title }}
    </div>
    <div>
      Свойства модификации:
    </div>
    {% for option_value in variant.option_values %}
      <div>
        {{ option_value.option_name.title }}: {{ option_value.title }}
      </div>
    {% endfor %}
  {% endfor %}
  </div>
</div>

variant.old_price number

Старая цена модификации.

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      {% if variant.old_price %}
        <div class="variant-old_price">
          Старая цена модификации: {{ variant.old_price | money }}
        </div>
      {% endif %}
    </div>
  {% endfor %}
  </div>
</div>

variant.barcode string

Штрих-код модификации

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      {% if variant.barcode %}
        <div class="variant-barcode">
          Штрих-код: {{ variant.barcode }}
        </div>
      {% endif %}
    </div>
  {% endfor %}
  </div>
</div>

variant.quantity number

Остатки модификации

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      <div class="variant-quantity">
        {% if variant.quantity %}
          {% assign variant_quantity = variant.quantity %}
          {% else %}
          {% assign variant_quantity = 'много' %}
        {% endif %}
        Остаток: {{ variant_quantity }}
      </div>
    </div>
  {% endfor %}
  </div>
</div>

variant.sku string

Артикул модификации

Liquid
        
          

<div class="variants">
  <div class="variants-title">
    Модификации товара:
  </div>
  <div class="variants-list">
  {% for variant in product.variants %}
    <div class="variant">
      <div class="variant-title">
        Имя модификации: {{ variant.title }}
      </div>
      {% if variant.sku %}
        <div class="variant-sku">
          Артикул: {{ variant.sku }}
        </div>
      {% endif %}
    </div>
  {% endfor %}
  </div>
</div>

variant.first_image Первое (основное) изображение варианта. string

Первое (основное) изображение варианта.
Liquid
        
          

Ссылка на первое изображение варианта:
{{ variant.first_image.medium_url }}

property in product.properties

Параметры товара

property.name Название параметра. string

Название параметра.
Liquid
        
          

{% for property in product.properties %}
  {{property.name}}: {% for item in property.characteristics %}{{item.name}},{% endfor%}
{% endfor %}

Так же можно обращаться к параметру напрямую, зная его пермалинк (handle):

{{ product.properties.handle.characteristics.first.name }}

property.characteristics Массив значений данного параметра. Например, вывод всех характеристик с указанием числа товаров. array

Массив значений данного параметра. Например, вывод всех характеристик с указанием числа товаров.
Liquid
        
          

{% for property in product.properties %}
  {{ property.name }}: {% for characteristic in property.characteristics %}{{ characteristic.name }},{% endfor%}
{% endfor %}
Так же можно обращаться к параметру напрямую, зная его пермалинк (handle):
{% if product.properties.handle.characteristics.size > 0 %}
  {% for characteristic in product.properties.handle.characteristics %}
    {{ characteristic.name }}
  {% endfor %}
{% endif %}

property.handle Пермалинк параметра. Пермалинк можно посмотреть в бэк-офисе Настройки -> Параметры товаров -> редактировать параметр string

Пермалинк параметра.
Пермалинк можно посмотреть в бэк-офисе Настройки -> Параметры товаров -> редактировать параметр
Liquid
        
          

Обращение к параметру зная его пермалинк (handle):
{% if product.properties.handle.characteristics.size > 0 %}
  {% for characteristic in product.properties.handle.characteristics %}
    {{ characteristic.name }}
  {% endfor %}
{% endif %}

property.gt_value Минимальное значение числового параметра number

Минимальное значение числового параметра

property.lt_value Максимальное значение числового параметра number

Максимальное значение числового параметра

characteristic in property.characteristics

Значения параметров товара

characteristic.name Название характеристики. string

Название характеристики.
Liquid
        
          

{% for property in product.properties %} 
  <div>
    {{ property.name }}: {% for characteristic in property.characteristics %}{{ characteristic.name }},{% endfor %} 
  </div>
{% endfor %}

characteristic.handle Прмалинк характеристики. string

Прмалинк характеристики.
Liquid
        
          

Применение characteristic.handle на примере вывода стикеров через параметры. В нашем случае handle характеристики стикер — stiker.

Из characteristic.handle мы формируем уникальные css классы, чтобы каждому стикеру сделать свой стиль.

{% assign labels_list = '' %}
{% if product.properties.stiker %}
  {% for characteristic in product.properties.stiker.characteristics %}
    {% assign labels_list = labels_list | append: '<div class="stiker stiker-'| append: characteristic.handle | append: '">' | append: characteristic.title | append: '</div>' %}
  {% endfor %}
{% endif %}

<div class="product">
  {{ labels_list }}
  <div class="product-title">
    {{ product.title }}
  </div>
</div>

characteristic.property object

Параметр, которому принадлежит данная характеристика.

Liquid
        
          

{% for property in product.properties %}
  {% for characteristic in property.characteristics %}
    {{ characteristic.property.name }} / {{ characteristic.property.handle }} / {{ characteristic.property.characteristics.size }}
  {% endfor %}
{% endfor %}

characteristic.url string

URL для фильтрации товаров по данной характеристике в текущей коллекции. (Доступно только в коллекции)

Liquid
        
          

{% for property in collection.properties %}
  <div class="property">
      <div class="property-title">
        {{ property.title }}
      </div>
      <div class="property-characteristics">
        {% for characteristic in property.characteristics %}
          <div class="characteristic {% if characteristic.current? %}is-checked{% endif %}">
            <a href="{{ characteristic.url }}">
              {{ characteristic.title }}&nbsp;({{characteristic.products_count}})
            </a>
          </div>
        {% endfor %}
      </div>
  </div>
{% endfor %}

characteristic.products_count number

Число товаров с данной характеристикой в текущей коллекции.  (Доступно только в коллекции)

Liquid
        
          

{% for property in collection.properties %}
  <div class="property">
      <div class="property-title">
        {{ property.title }}
      </div>
      <div class="property-characteristics">
        {% for characteristic in property.characteristics %}
          <div class="characteristic {% if characteristic.current? %}is-checked{% endif %}">
            <a href="{{ characteristic.url }}">
              {{ characteristic.title }}&nbsp;({{characteristic.products_count}})
            </a>
          </div>
        {% endfor %}
      </div>
  </div>
{% endfor %}

characteristic.current? Текущая характеристика? (Доступно только в коллекции) boolean

Текущая характеристика? (Доступно только в коллекции)
Liquid
        
          

{% for property in collection.properties %}
  <div class="property">
      <div class="property-title">
        {{ property.title }}
      </div>
      <div class="property-characteristics">
        {% for characteristic in property.characteristics %}
          <div class="characteristic {% if characteristic.current? %}is-checked{% endif %}">
            <a href="{{ characteristic.url }}">
              {{ characteristic.title }}&nbsp;({{characteristic.products_count}})
            </a>
          </div>
        {% endfor %}
      </div>
  </div>
{% endfor %}

characteristic.id id значения параметра number

id значения параметра

option_name in product.options

Свойства товара

option_name.id Id свойства. number

Id свойства.
Liquid
        
          

{%for option_name in product.options %}
  <div>
    Имя свойства: {{ option_name.title }}
  </div>
  <div>
    ID свойства: {{ option_name.id }}
  </div>
{%endfor%}

option_name.values array

Значения свойства. 

Liquid
        
          

{%for option_name in product.options %} 
  {{ option_name.title }} : {% for option_value in option_name.values %}{{ option_value.title }}{% unless forloop.last %},{% endunless %} {% endfor %} 
{%endfor%} 

option_name.title Название свойства. string

Название свойства.
Liquid
        
          

{%for option_name in product.options %}
  <div>
    Имя свойства: {{ option_name.title }}
  </div>
  <div>
    Кол-во значений свойства: {{ option_name.values.size }}
  </div>
{%endfor%}

option_value in option_name.values

Значение свойств товара

option_value.id Id значения свойства. number

Id значения свойства.
Liquid
        
          

{%for option_name in product.options %}
  {% for option_value in option_name.values %}
    {{ option_value.title }} / {{ option_value.id }}
  {% endfor %}
{%endfor%}

option_value.title number

Название значения свойства.

Liquid
        
          

<div class="options">
  {% for option_name in product.options %}
    <div class="option">
      <div class="option-title">
        {{ option_name.title }}
      </div>
      <div class="option-values">
        {% for option_value in option_name.values %}
          <div class="option-value">
            {{ option_value.title }} 
          </div>
        {% endfor %}
      </div>
    </div>
  {% endfor %}
</div>

option_value.option_name object

Свойства товара, значением которого является данное значение.

Liquid
        
          

{%for option_name in product.options %}
  {% for option_value in option_name.values %}
    {{ option_value.option_name.title }} / {{ option_value.option_name.id }} / {{ option_value.option_name.values.size }}
  {% endfor %}
{%endfor%}

option_value.selected Отмеченное значение в фильтре свойств? (доступно только в коллекции) boolean

Отмеченное значение в фильтре свойств? (доступно только в коллекции)
Liquid
        
          

{% for option in collection.options %}
  <div class="option">
    <div class="option-title">
      {{ option.title }}
    </div>
    <div class="option-values">
      {% for option_value in option.values %}
        <div class="option-value {% if option_value.selected %}is-selected{% endif %}">
          {{ option_value.title }}
        </div>
      {% endfor %}
    </div>
  </div>
{% endfor %}

option_value.products_count Кол-во товара с данным значением свойства. (доступно только в коллекции) number

Кол-во товара с данным значением свойства. (доступно только в коллекции)
Liquid
        
          

{% for option in collection.options %}
  <div class="option">
    <div class="option-title">
      {{ option.title }}
    </div>
    <div class="option-values">
      {% for option_value in option.values %}
        <div class="option-value {% if option_value.selected %}is-selected{% endif %}">
          {{ option_value.title }} ({{ option_value.products_count }})
        </div>
      {% endfor %}
    </div>
  </div>
{% endfor %}

review in product.reviews

Отзывы к товару

review.author Имя автора отзыва string

Имя автора отзыва
Liquid
        
          

{% ifaccount.reviews_enabled? %}
  {% if product.reviews == empty %}
    <div class="notice notice--info">
      Пока нет отзывов
    </div>
  {% else %}
  <ul class="reviews-list">
    {% for review in product.reviews %}
    <li class="review">
      <div class="review-details">
        <span class="review-name">{{ review.author }}</span> {{ review.created_at | date: "%d.%m.%Y %H:%M" }}
      </div>
      
      <div class="review-content">
        {{ review.content | newline_to_br }}
      </div>
      
      {% if review.rating %}
      <div class="review-rating rating">
        Оценка: {{ review.rating }}
      </div>
      {% endif %}
    </li>
    {% endfor %}
  </ul>
  {% endif %}
{% endif %}

review.action_url string

урл используемый для отправки post запроса на создание отзыва.

Liquid
        
          

<div id="review_form" class="review_form">
  <form action="{{ review.action_url }}" method="post">
    <h3>Оставить отзыв</h3>

    {% if form.posted_successfully? %}

      {% if account.reviews_moderated? %}
        <div class="review_form-notice notice notice--success">
          Отзыв успешно отправлен.<br />
          Он будет промодерирован владельцем магазина перед публикацией.
        </div>
      {% else %}
        <div class="review_form-notice notice notice--success">Отзыв добавлен.</div>
      {% endif %}

    {% endif %}

    {% if review.errors.size > 0 %}
      <div class="review_form-notice notice notice--warning">
        Не все поля заполнены правильно!
      </div>
    {% endif %}

    <div class="notice notice--info">
      Все поля обязательны к заполнению
    </div>

    <div class="review_form-input input input--required
                {% if review.errors contains 'author' %} input--error{% endif %}"
    >
      <label for="review_author" class="input-label">
        Имя
      </label>

      <input  type="text"
              name="review[author]"
              value="{{ review.author }}"
              class="input-field"
      />

    </div>

    <div class="review_form-input input input--required
                {% if review.errors contains 'email' %} input--error{% endif %}"
    >
      <label for="review_email" class="input-label">
        E-mail (на сайте не публикуется)
      </label>

      <input  type="email"
              name="review[email]"
              value="{{ review.email }}"
              class="input-field"
      />

    </div>

    <div class="review_form-input input input--required
                {% if review.errors contains 'content' %} input--error{% endif %}"
    >
      <label for="review_body" class="input-label">
        Отзыв
      </label>

      <textarea name="review[content]"
                rows="4"
                class="input-field"
      >{{ review.content }}</textarea>

      <span class="input-notice notice notice--warning">
        нам интересно Ваше мнение о товаре
      </span>
    </div>

    <div class="review_form-input rating_wrapper">
      <label for="rating" class="rating-label">Оцените товар:</label>

      <select class="js-rating" name="review[rating]">
        <option value=""></option>
        {% for i in (1..5) %}
          <option value="{{ i }}">{{ i }}</option>
        {% endfor %}
      </select>
    </div>

    {% if review.captcha_enabled? %}
      <div id="captcha"
            class="review_form-input input input--captcha input--required
                  {% if review.errors contains 'captcha_solution' %} input--error{% endif %}"
      >
        <label class="input-label">
          Наберите текст, изображённый на картинке
        </label>

        <div id="captcha_challenge" class="input-captcha">
          {{ review | captcha_challenge }}
        </div>

        <input type="text"
                name="review[captcha_solution]"
                class="input-field"
        />

      </div>
    {% endif %}

    {% if account.reviews_moderated? %}
      <div class="notice notice--info">
        Перед публикацией отзывы проходят модерацию
      </div>
    {% endif %}

    <input type="submit"
            class="review_form-submit button"
            value="Отправить отзыв"
    />

  </form>
</div>

review.created_at date

Дата создания отзыва.

Liquid
        
          

{% for review in product.reviews %}

  {{ review.created_at | date: "%d.%m.%Y %H:%M" }}

{% endfor %}

review.email Email автора отзыва. (Как правило не следует выводить email автора на сайт) string

Email автора отзыва. (Как правило не следует выводить email автора на сайт)
Liquid
        
          

{% for review in product.reviews %}
  {{ review.email }}
{% endfor %}

review.errors array

Список имен неправильно заполненных полей.

Liquid
        
          

{{ review.errors }}
>> captcha_solutionemail

 

{% for error in review.errors %}
  {{ error }}
{% endfor %}
>> captcha_solution
>> email

review.rating number

Оценка товара, поставленная в отзыве.

Liquid
        
          

{% for review in product.reviews %}
  {% assign r = 5 %}
  {% for i in (1..5) %}
    <span class="star-item {% if review.rating == r %}active{% endif %}"></span>
    {% assign r = r | minus: 1 %}
  {% endfor %}
{% endfor %}

review.content Текст отзыва. <html>

Текст отзыва.
Liquid
        
          

{% ifaccount.reviews_enabled? %}
  {% if product.reviews == empty %}
    <div class="notice notice--info">
      Пока нет отзывов
    </div>
  {% else %}
  <ul class="reviews-list">
    {% for review in product.reviews %}
    <li class="review">
      <div class="review-details">
        <span class="review-name">{{ review.author }}</span> {{ review.created_at | date: "%d.%m.%Y %H:%M" }}
      </div>
      
      <div class="review-content">
        {{ review.content | newline_to_br }}
      </div>
      
      {% if review.rating %}
      <div class="review-rating rating">
        Оценка: {{ review.rating }}
      </div>
      {% endif %}
    </li>
    {% endfor %}
  </ul>
  {% endif %}
{% endif %}

bundle_component in product.bundle_components

Комплекты

bundle_component.product Ссылка на товар из списка товаров комплекта object

Ссылка на товар из списка товаров комплекта
Liquid
        
          

{% if product.is_bundle %}
  <div class="bundle">
    <div class="bundle-title">
      Состав комплекта:
    </div>
    <div class="bundle-list">
      {% for bundle_component in product.bundle_components %}
      <div class="bundle-item">
        <div class="bundle-img">
          <img src="{{ bundle_component.product.first_image.medium_url }}" />
        </div>
        <div class="bundle-name">
          {{ bundle_component.product.title }}
        </div>
        <div class="bundle-price">
          {% if bundle_component.is_free %}
            В подарок
            {% else %}
            {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }}
          {% endif %}
        </div>
      </div>
      {% endfor %}
    </div>
    {% if product.bundle_discount < 0 %}
    <div class="bundle-discount">
        Экономия: {{ product.bundle_discount | money }}
    </div>
    {% endif %}
  </div>
{% endif %}

bundle_component.variant Cодержит информацию о конкретном варианте товара, который привязан к комплекту object

Cодержит информацию о конкретном варианте товара, который привязан к комплекту

bundle_component.quantity Колличество товарной позиции в комплекте number

Колличество товарной позиции в комплекте
Liquid
        
          

{% if product.is_bundle %}
  <div class="bundle">
    <div class="bundle-title">
      Состав комплекта:
    </div>
    <div class="bundle-list">
      {% for bundle_component in product.bundle_components %}
      <div class="bundle-item">
        <div class="bundle-img">
          <img src="{{ bundle_component.product.first_image.medium_url }}" />
        </div>
        <div class="bundle-name">
          {{ bundle_component.product.title }}
        </div>
        <div class="bundle-price">
          {% if bundle_component.is_free %}
            В подарок
            {% else %}
            {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }}
          {% endif %}
        </div>
      </div>
      {% endfor %}
    </div>
    {% if product.bundle_discount < 0 %}
    <div class="bundle-discount">
        Экономия: {{ product.bundle_discount | money }}
    </div>
    {% endif %}
  </div>
{% endif %}

bundle_component.is_free Товарная позиция является бесплатной? (для активации бесплатной позиции нужно выставить чекбокс "FREE" в бекофисе) boolean

Товарная позиция является бесплатной? (для активации бесплатной позиции нужно выставить чекбокс "FREE" в бекофисе)
Liquid
        
          

{% if product.is_bundle %}
  <div class="bundle">
    <div class="bundle-title">
      Состав комплекта:
    </div>
    <div class="bundle-list">
      {% for bundle_component in product.bundle_components %}
      <div class="bundle-item">
        <div class="bundle-img">
          <img src="{{ bundle_component.product.first_image.medium_url }}" />
        </div>
        <div class="bundle-name">
          {{ bundle_component.product.title }}
        </div>
        <div class="bundle-price">
          {% if bundle_component.is_free %}
            В подарок
            {% else %}
            {{ bundle_component.quantity }} × {{ bundle_component.product.sale_price | money }}
          {% endif %}
        </div>
      </div>
      {% endfor %}
    </div>
    {% if product.bundle_discount < 0 %}
    <div class="bundle-discount">
        Экономия: {{ product.bundle_discount | money }}
    </div>
    {% endif %}
  </div>
{% endif %}