Cart

Объект cart доступен во всех шаблонах темы.

Cart

cart.coupon Введенный код купона. string

Введенный код купона.
Liquid
        
          

{% if cart.enable_coupon? %}
  <form action="{{ cart_url }}" method="post" >
    <input type="text" name="cart[coupon]" value="{{ cart.coupon }}" placeholder="Введите купон">
    <button type="submit">
      Применить купон
    </button>
    {% if cart.invalid_coupon? %}
      <div class="discounts-notice notice notice-error">
        {{ cart.coupon_error }}
      </div>
    {% endif %}
    {% if cart.discounts.size > 0 %}
    {% for discount in cart.discounts %}
      <div class="discount">
      <div class="discount-title">
        {{ discount.description }}
      </div>
          <div class="discount-prices prices">
            <span class="prices-current">
              - {{ discount.amount | money }}
            </span>
          </div>
        </div>
      {% endfor %}
    {% endif %}
  </form>
{% endif %}

cart.coupon_error Сообщение ошибки ввода купона. string

Сообщение ошибки ввода купона.
Liquid
        
          

{% if cart.enable_coupon? %}
  <form action="{{ cart_url }}" method="post" >
    <input type="text" name="cart[coupon]" value="{{ cart.coupon }}" placeholder="Введите купон">
    <button type="submit">
      Применить купон
    </button>
    {% if cart.invalid_coupon? %}
      <div class="discounts-notice notice notice-error">
        {{ cart.coupon_error }}
      </div>
    {% endif %}
    {% if cart.discounts.size > 0 %}
    {% for discount in cart.discounts %}
      <div class="discount">
      <div class="discount-title">
        {{ discount.description }}
      </div>
          <div class="discount-prices prices">
            <span class="prices-current">
              - {{ discount.amount | money }}
            </span>
          </div>
        </div>
      {% endfor %}
    {% endif %}
  </form>
{% endif %}

cart.discounts Массив скидок. array

Массив скидок.
Liquid
        
          

{% if cart.discounts.size > 0 %}
  {% for discount in cart.discounts %}
  <div class="discount">
  <div class="discount-title">
    {{ discount.description }}
  </div>
      <div class="discount-prices prices">
        <span class="prices-current">
          - {{ discount.amount | money }}
        </span>
      </div>
    </div>
  {% endfor %}
{% endif %}

cart.enable_coupon? Флаг, обозначающий, включено использование купонов или нет, - если купоны запрещены тарифом - возвращает true. boolean

Флаг, обозначающий, включено использование купонов или нет, - если купоны запрещены тарифом - возвращает true.
Liquid
        
          

{% if cart.enable_coupon? %}
  <form action="{{ cart_url }}" method="post" >
    <input type="text" name="cart[coupon]" value="{{ cart.coupon }}" placeholder="Введите купон">
    <button type="submit">
      Применить купон
    </button>
    {% if cart.invalid_coupon? %}
      <div class="discounts-notice notice notice-error">
        {{ cart.coupon_error }}
      </div>
    {% endif %}
    {% if cart.discounts.size > 0 %}
    {% for discount in cart.discounts %}
      <div class="discount">
      <div class="discount-title">
        {{ discount.description }}
      </div>
          <div class="discount-prices prices">
            <span class="prices-current">
              - {{ discount.amount | money }}
            </span>
          </div>
        </div>
      {% endfor %}
    {% endif %}
  </form>
{% endif %}

cart.invalid_coupon? Флаг, обозначающий, что введенн неверный купон, если купон не задан возвращает false. boolean

Флаг, обозначающий, что введенн неверный купон, если купон не задан возвращает false.
Liquid
        
          

{% if cart.enable_coupon? %}
  <form action="{{ cart_url }}" method="post" >
    <input type="text" name="cart[coupon]" value="{{ cart.coupon }}" placeholder="Введите купон">
    <button type="submit">
      Применить купон
    </button>
    {% if cart.invalid_coupon? %}
      <div class="discounts-notice notice notice-error">
        {{ cart.coupon_error }}
      </div>
    {% endif %}
    {% if cart.discounts.size > 0 %}
    {% for discount in cart.discounts %}
      <div class="discount">
      <div class="discount-title">
        {{ discount.description }}
      </div>
          <div class="discount-prices prices">
            <span class="prices-current">
              - {{ discount.amount | money }}
            </span>
          </div>
        </div>
      {% endfor %}
    {% endif %}
  </form>
{% endif %}

cart.items Массив товаров (товарных позиций) в корзине. array

Массив товаров (товарных позиций) в корзине.
Liquid
        
          

{% for item in cart.items %}
  <div class="item">
    <div class="item-title">
      {{ item.title }}
    </div>
    <div class="item-title">
      {{ item.quantity | money }} &times; {{ item.sale_price }} = {{ item.total_price | money }}
    </div>
  </div>
{% endfor %}

cart.items_count Число позиций в корзине. number

Число позиций в корзине.
Liquid
        
          

Товаров в корзине: {{ cart.items_count }}

cart.items_price Сумма с учетом скидки без учета доставки number

Сумма с учетом скидки без учета доставки
Liquid
        
          

Итого: {{ cart.items_price | money }}

cart.items_weight Суммарный вес всех позиций в корзине. number

Суммарный вес всех позиций в корзине.
Liquid
        
          

{% if cart.items_weight %}
  Сумарный вес товаров в корзине: {{ cart.items_weight }}
{% endif %}

cart.total_price Сумма с учетом скидки и с учетом доставки number

Сумма с учетом скидки и с учетом доставки
Liquid
        
          

Суммарная стоимость заказа с учетом доставки: {{ cart.total_price | money }}

item in cart.items

item.comment Комментарий к позиции заказа. string

Комментарий к позиции заказа.

Для работы данного функционала нужно включить настройку в бэк-офисе: Настройки -> Карточка магазина -> Включить комментарии к позициям заказа

Liquid
        
          

<!-- Вывод комментария в корзине -->

<form action="{{ cart_url }}" method="post">
  <input type="hidden" name="_method" value="put">
  <input type="hidden" name="make_order" value="">
  {% for item in cart.items %}
  <div class="cart-item" data-item-block="{{ item.id }}">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
    <div class="item-comment">
      <!-- изменить комментарий в корзине -->
      <input type="text" name="cart[order_line_comments][{{ item.id }}]" value="{{ item.comment }}" />
      <!-- Просто вывести комментарий -->
      <span>
        {{ item.comment }}
      </span>
    </div>
  </div>
  {% endfor %}
  <input type="submit" value="Оформить">
</form>

 

<!-- Форма добавления товара с комментарием -->

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

item.id Идентификатор позиции. number

Идентификатор позиции.

Активно используется в атрибутах name полей формы корзины.
Например:
<input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}" />
<input type="text" name="cart[order_line_comments][{{ item.id }}]" value="{{ item.comment }}" />

Liquid
        
          

<form action="{{ cart_url }}" method="post">
  <input type="hidden" name="_method" value="put">
  <input type="hidden" name="make_order" value="">
  {% for item in cart.items %}
  <div class="cart-item" data-item-block="{{ item.id }}">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
    {% if item.weight %}
      <div class="item-weight">
        Вес товара: {{ item.weight }} {{ item.unit }}
      </div>
      <div class="item-weight">
        Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }}
      </div>
    {% endif %}
    <div class="item-quantity">
      Изменить количество товаров позиции:
      <input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}" class="item-quantity-input">
    </div>
    <a href="{{ item.url }}" data-item-target="{{ item.id }}" class="item-remove js-item-remove">
      Удалить
    </a>
  </div>
  {% endfor %}
  <input type="submit" value="Оформить">
</form>

 

<!-- jQuery скрипт удаления -->
<script type="text/javascript">
  $(document).ready(function() {
    $('.js-item-remove').click(function(event) {
      event.preventDefault();
      var itemUrl = $(this).attr('href');
      var removeUrl = itemUrl + '.json';
      var _targetId = $(this).data('item-target');
      var $itemBlock = $('[data-item-block="'+ _targetId +'"]')
      $.ajax({
        url: itemUrl,
        type: 'POST',
        data: { _method: 'delete'}
      })
      .done(function() {
        console.log("Товар успешно удален");
        $itemBlock.remove();
      })
      .fail(function() {
        console.log("Что то пошло не так");
      })
    });
  });
</script>

item.product Товар позиции. object

Товар позиции.
Liquid
        
          

{% for item in cart.items %}
  <div class="cart-item">
    <div class="item-image">
      <a class="item-image-link" href="{{item.product.url}}?variant_id={{item.variant.id}}">
        <img  src="{{ item.product.first_image.medium_url }}">
      </a>
    </div>
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
  </div>
{% endfor %}

item.quantity Число товаров в позиции. number

Число товаров в позиции.
Liquid
        
          

<form action="{{ cart_url }}" method="post">
  <input type="hidden" name="_method" value="put">
  <input type="hidden" name="make_order" value="">
  {% for item in cart.items %}
  <div class="cart-item" data-item-block="{{ item.id }}">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
    <div class="item-quantity">
      Изменить количество товаров позиции:
      <input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}" class="item-quantity-input">
    </div>
  </div>
  {% endfor %}
  <input type="submit" value="Оформить">
</form>

item.sale_price Цена одного товара позиции. number

Цена одного товара позиции.
Liquid
        
          

{% for item in cart.items %}
<div class="cart-item" data-item-block="{{ item.id }}">
  <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
    {{ item.product.title }}
  </a>
  <div class="item-price">
    {{ item.sale_price | money }} &times; {{ item.quantity }} = {{ item.total_price | money }}
  </div>
</div>
{% endfor %}

item.title Название позиции. string

Название позиции.

Если у товара позиции есть модификация, помимо имени товара, в скобках через слеш будет выведена информация о модификации.
Например: Футболка (Белая / XL)

Liquid
        
          

{% for item in cart.items %}
<div class="cart-item" data-item-block="{{ item.id }}">
  <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
    {{ item.title }}
  </a>
</div>
{% endfor %}

item.total_price Суммарная стоимость товаров позиции. number

Суммарная стоимость товаров позиции.
Liquid
        
          

{% for item in cart.items %}
<div class="cart-item" data-item-block="{{ item.id }}">
  <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
    {{ item.product.title }}
  </a>
  <div class="item-price">
    {{ item.sale_price | money }} &times; {{ item.quantity }} = {{ item.total_price | money }}
  </div>
</div>
{% endfor %}

item.weight Вес одного товара позиции. number

Вес одного товара позиции.
Liquid
        
          

<form action="{{ cart_url }}" method="post">
  <input type="hidden" name="_method" value="put">
  <input type="hidden" name="make_order" value="">
  {% for item in cart.items %}
  <div class="cart-item" data-item-block="{{ item.id }}">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
    {% if item.weight %}
      <div class="item-weight">
        Вес товара: {{ item.weight }} {{ item.unit }}
      </div>
      <div class="item-weight">
        Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }}
      </div>
    {% endif %}
    <div class="item-quantity">
      Изменить количество товаров позиции:
      <input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}" class="item-quantity-input">
    </div>
  </div>
  {% endfor %}
  <input type="submit" value="Оформить">
</form>

item.total_weight Суммарный вес товаров позиции. number

Суммарный вес товаров позиции.
Liquid
        
          

<form action="{{ cart_url }}" method="post">
  <input type="hidden" name="_method" value="put">
  <input type="hidden" name="make_order" value="">
  {% for item in cart.items %}
  <div class="cart-item" data-item-block="{{ item.id }}">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
    {% if item.weight %}
      <div class="item-weight">
        Вес товара: {{ item.weight }} {{ item.unit }}
      </div>
      <div class="item-weight">
        Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }}
      </div>
    {% endif %}
    <div class="item-quantity">
      Изменить количество товаров позиции:
      <input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}" class="item-quantity-input">
    </div>
  </div>
  {% endfor %}
  <input type="submit" value="Оформить">
</form>

item.url URL применяющийся для удаления товаров из корзины. string

URL применяющийся для удаления товаров из корзины.
Liquid
        
          

{% for item in cart.items %}
<div class="cart-item" data-item-block="{{ item.id }}">
  <div class="item-image">
    <a class="item-image-link" href="{{item.product.url}}?variant_id={{item.variant.id}}">
      <img  src="{{ item.product.first_image.medium_url }}">
    </a>
  </div>
  <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
    {{ item.product.title }}
  </a>
  <a href="{{ item.url }}" data-item-target="{{ item.id }}" class="item-remove js-item-remove">
    Удалить
  </a>
</div>
{% endfor %}

<!-- jQuery скрипт удаления -->
<script type="text/javascript">
  $(document).ready(function() {
    $('.js-item-remove').click(function(event) {
      event.preventDefault();
      var itemUrl = $(this).attr('href');
      var removeUrl = itemUrl + '.json';
      var _targetId = $(this).data('item-target');
      var $itemBlock = $('[data-item-block="'+ _targetId +'"]')
      $.ajax({
        url: itemUrl,
        type: 'POST',
        data: { _method: 'delete'}
      })
      .done(function() {
        console.log("Товар успешно удален");
        $itemBlock.remove();
      })
      .fail(function() {
        console.log("Что то пошло не так");
      })
    });
  });
</script>

item.variant Модификация товара позиции. object

Модификация товара позиции.
Liquid
        
          

{% for item in cart.items %}
  <div class="cart-item">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.title }}
    </a>
    {% if item.variant.option_values.size > 0 %}
      <div class="item-option_values">
        {% for option_value in item.variant.option_values %}
        <div class="item-option_name">
          <span>{{ option_value.option_name.title }}</span> - <span>{{ option_value.title }}</span>
        </div>
        {% endfor %}
      </div>
    {% endif %}
  </div>
{% endfor %}

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

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

<form action="{{ cart_url }}" method="post">
  <input type="hidden" name="_method" value="put">
  <input type="hidden" name="make_order" value="">
  {% for item in cart.items %}
  <div class="cart-item" data-item-block="{{ item.id }}">
    <a href="{{ item.product.url }}?variant_id={{ item.variant.id }}" class="item-title">
      {{ item.product.title }}
    </a>
    {% if item.weight %}
      <div class="item-weight">
        Вес товара: {{ item.weight }} {{ item.unit }}
      </div>
      <div class="item-weight">
        Суммарный вес товаров позиции: {{ item.total_weight }} {{ item.unit }}
      </div>
    {% endif %}
    <div class="item-quantity">
      Изменить количество товаров позиции:
      <input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}" class="item-quantity-input">
    </div>
  </div>
  {% endfor %}
  <input type="submit" value="Оформить">
</form>