Корзина

С помощью 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.