Атрибут | Назначение | Расположение |
---|---|---|
data-cart-form | Обязательный атрибут для тега form | Тег form для корзины |
data-item-id | Обязательный атрибут для позиций в корзине. Атрибут принимает id позиции. | Обертка для позиции в корзине |
data-product-id | Обязательный атрибут для инициализации товара. В атрибут передаётся id товара. | Обертка для позиции в корзине |
data-item-delete | Удаление из корзины | Обертка для позиции в корзине |
data-cart-update | Обновление корзины | Внутри обёртки с атрибутом data-cart-form |
data-cart-update | Обновление корзины | Внутри обёртки с атрибутом data-cart-form |
data-cart-clear | Очищение корзины | Внутри обёртки с атрибутом data-cart-form |
data-coupon-submit | Отправка купона | Внутри обёртки с атрибутом data-cart-form |
data-quantity | Обязательный атрибут для обёртки кнопок изменения колличества и инпута quantity | Внутри обертки с атрибутом data-product-id и data-item-id |
data-quantity-change | Атрибут для кнопок +/-, принимает число | Внутри обёртки с атрибутом data-quantity |
<form action="{{ cart_url }}" method="post" data-cart-form>
<input type="hidden" name="_method" value="put">
<input type="hidden" name="make_order" value="">
{% for item in cart.items %}
<div data-product-id="{{ item.product.id }}" data-item-id="{{ item.id }}">
<div data-quantity>
<input type="text" name="cart[quantity][{{ item.id }}]" value="{{ item.quantity }}">
<span data-quantity-change="-1">-</span>
<span data-quantity-change="1">+</span>
</div>
<span data-item-delete="{{ item.id }}">X</span>
</div>
{% endfor %}
<div>
<label> Купон </label>
<input type="text" name="cart[coupon]" value="{{ cart.coupon }}" />
<input type="button" value="Применить" data-coupon-submit/>
</div>
<input type="submit" value="Оформить" data-cart-submit>
<button data-cart-clear>Очистить</button>
<button data-cart-update>Обновить</button>
</form>
before:insales:cart | Перед любым взаимдействием с корзиной |
add_items:insales:cart | Товар добален в корзину |
update_items:insales:cart | Обновление корзины |
always:insales:cart | Событие срабатывает после любого взаимодействия с компонетом корзины |
delete_items:insales:cart | Удаление позиции |
remove_items:insales:cart | Удаление заданного кол-ва позиций |
clear_items:insales:cart | После полного очищения корзины |
set_coupon:insales:cart | После установки купона |
set_items:insales:cart | После установления кол-ва товаров в корзине для каждой позиции |
before:insales:item | Событие срабатывает перед любым взаимодействием с компонетом продукта |
change_quantity:insales:item | Обновление кол-ва в продукте |
unchange_quantity:insales:item | Если введено кол-во больше доступного |
update_variant:insales:item | Обновление варианта в продукте |
always:insales:item | Событие срабатывает после любого взаимодействия с компонетом продукта |
Добавить в корзину заданное кол-во товаров
Полностью очистить корзину
Удалить позиции из корзины
Удадить из корзины заданное кол-во товаров
Устанавливает кол-во товаров в корзине для каждой позиции
Устанавливаем купон
Cart.add({
items: {
123456: 2,
123457: 1
},
comments: {
123457: 'Мой комментарий'
},
coupon: 'Мой купон'
});
Cart.delete({items: [160549240]})