# Cart

Корзина

var cart = page.cart;

# Свойства

# items

Тип: CartItem[]

Список всех элементов корзины.

# subtotal

Тип: Number

Стоимость всех элементов корзины.

В английском языке subtotal означает стоимость всех товаров без налогов и доставки.

# Методы

# addItem

cart.addItem(data)

Добавляет товар в корзину.

  • data — Данные товара.
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',
    quantity: 1,
});

Обязательные поля — title и price. Можно не передавать поля image и quantity (по умолчанию 1).

Цену обязательно передавать строкой с валютой на конце. Именно в таком виде она будет отображаться в списке элементов корзины.

Возвращает новый элемент корзины, экземпляр класса CartItem.

# removeItem

cart.removeItem(item)

Удаляет товар из корзины.

  • item — Экземпляр класса CartItem.

# События

# subtotal-change

Срабатывает после любого изменения стоимости всех товаров — при добавлении товаров, изменении их цен, количества, удалении и т.д.

  • event.oldSubtotal — Прежняя стоимость всех товаров в корзине.
  • event.subtotal — Текущая стоимость всех товаров в корзине.

# item-add

Срабатывает после добавления элемента в корзину.

  • event.item — Элемент корзины, экземпляр класса CartItem, который был добавлен.

Замечание

Это событие не срабатывает при изменении количества уже добавленного элемента в корзине, как например при повторном нажатии кнопки добавления в корзину, или при изменении количества в интерфейсе самой корзины.

Например если дважды нажать на странице кнопку добавления товара в корзину, при первом нажатии будет добавлен новый элемент, а при втором будет изменено количество того элемента, который уже находится в корзине, и item-add не сработает.

# item-remove

Срабатывает после добавления элемента в корзину.

  • event.item — Элемент корзины, экземпляр класса CartItem, который был удален.

Замечание

Это событие не срабатывает при изменении количества уже добавленного элемента в корзине, как например при изменении количества в интерфейсе самой корзины.

Поддержка в Telegram-чате

Подскажем, как решить вашу задачу!

Мы все еще дописываем документацию для разработчиков, поэтому нам важно, чтобы вы писали, что с чем возникают трудности, и какие еще возможности нужно добавить.