Корзина
С помощью API можно работать с товарами в корзине.
Стоимость всех товаров
Стоимость всех товаров в корзине можно получить через page.cart.subtotal
.
Зная ее, мы можем показывать клиентам сообщение вместо отправки формы, если сумма заказа меньше определенной.
Добавление товара
Простой пример:
cr.api(function (page) {
page.cart.addItem({
title: 'Canon EOS 1300D',
price: '25 610 руб.',
image: 'https://i.1.creatium.io/6a/8c/c0/7b8ab39ce7ccb3e5c077de0e6b56112f25/canon_1159c003_eos_rebel_t6_dslr_1238183.jpg',
});
});
Если у товара нет картинки, можно ее не указывать:
cr.api(function (page) {
page.cart.addItem({
title: 'Особая консультация',
price: '50 000 руб.',
});
});
Возможно добавить товар с указанием его количества.
cr.api(function (page) {
page.cart.addItem({
title: 'Дополнительный сыр к пицце',
price: '50 руб.',
quantity: 2,
});
});
Удаление товаров
Товары удаляются функцией removeItem
. В функцию нужно передать ссылку на товар.
Вот так можно удалить товар, который был добавлен ранее:
cr.api(function (page) {
// Добавляем товар
var item = page.cart.addItem({
title: 'Дополнительный сыр к пицце',
price: '50 руб.',
});
// Удаляем товар
page.cart.removeItem(item);
});
Либо можно найти товар в items
, и удалить его:
cr.api(function (page) {
// Находим товар
var item = page.cart.items.find(function (item) {
return item.title === 'Название товара';
});
// Удаляем товар, если он есть в корзине
if (item) page.cart.removeItem(item);
});
Изменение параметров
Изменение цены ранее добавленного товара:
cr.api(function (page) {
// Добавляем товар
var item = page.cart.addItem({
title: 'Дополнительный сыр к пицце',
price: '50 руб.',
});
// Обновляем товар
item.setPrice('75 руб.');
});
Помимо setPrice есть setTitle
, setImage
и setQuantity
.
Все свойства, методы и события корзины смотрите в описании классов Cart и CartItem.