Перейти к основному содержимому

🛒 Корзина: количество, цена и остаток

Корзина открывается по ссылке «Корзина» в шапке сайта. Число рядом с иконкой — общее количество единиц, а не число разных позиций. Значения больше 99 показываются как 99+.

Сама корзина хранится на сервере. В браузере сохраняется только её идентификатор, поэтому при каждом открытии магазин заново получает состав и проверяет товары.

Что проверяется при открытии

Для каждой позиции магазин повторно проверяет:

  • товар всё ещё опубликован и имеет полноценную карточку;
  • выбранный вариант существует;
  • текущую цену варианта;
  • текущий статус наличия;
  • хватает ли остатка на заказанное количество.

Эта же проверка повторяется после изменения количества или удаления позиции.

:::warning Изменившаяся цена заменяется без отдельного предупреждения Корзина показывает текущую цену из каталога и пересчитывает строку и итог. Старую цену рядом не показывает и не выводит отдельное сообщение «Цена изменилась». :::

Что видно у позиции

ДанныеОткуда берутся
Изображение и названиеНазвание повторно сверяется с каталогом, а сохранённое изображение остаётся в корзине; название ведёт на карточку товара
Артикул и название вариантаИз выбранного варианта
НаличиеИз повторной проверки каталога
КоличествоИз серверной корзины
Цена за штуку и сумма строкиПо текущей проверенной цене

Вверху отдельно показаны число разных позиций и общее число единиц: например, 2 поз. · 5 шт. означает два товара суммарным количеством пять.

Как изменить количество

  1. Нажмите «−», чтобы уменьшить количество на одну единицу.
  2. Нажмите «+», чтобы увеличить на одну.
  3. Дождитесь обновления строки и итога.

На странице корзины нет ручного поля ввода. Минимум — 1, максимум интерфейса — 99. При количестве 1 кнопка «−» отключена: чтобы убрать позицию, нажмите «Удалить».

Для статуса «Под заказ» физический остаток не ограничивает количество, но общий предел 99 сохраняется.

:::note Если увеличение не прошло Стандартная корзина проверяет остаток ещё во время изменения. Если запрошено больше доступного, действие может завершиться общей ошибкой «Не удалось обновить корзину». Последнее успешное количество останется на экране. Точный доступный остаток появится после успешной повторной проверки, если проблемное количество уже было сохранено ранее. :::

Какие проблемы может показать корзина

Проблемная позиция не исчезает сама. Она остаётся в списке, выделяется и блокирует переход к оформлению.

СообщениеЧто произошлоЧто можно сделать
«Товар снят с публикации или удалён»Каталог больше не находит товарУдалить позицию
«Карточка товара неполна»У варианта или товара не хватает обязательных данныхУдалить позицию и сообщить администратору
«Товара нет в наличии»Заказ без остатка запрещёнУдалить позицию
«Доступно только N»Количество превышает текущий остатокНажать «Уменьшить до N» или удалить позицию

Кнопка «Уменьшить до N» появляется только когда доступно хотя бы одна единица. При нулевом остатке остаётся удаление.

Как считается итог

В блоке «Ваш заказ» показаны:

  • число позиций;
  • общее количество единиц;
  • предварительная сумма;
  • пояснение «Доставка будет рассчитана при оформлении».

Проблемные позиции не входят в предварительную сумму, но остаются в счётчиках и списке. Пока есть хотя бы одна проблема, появляется текст «Исправьте проблемные позиции, чтобы перейти к оформлению», а кнопка «Перейти к оформлению» отключена.

Поля промокода на текущей странице корзины нет.

Удаление и очистка

  • «Удалить» убирает одну позицию.
  • Кнопка с иконкой удаления справа от заголовка страницы очищает весь состав.
  • После удаления последней позиции появляется «Корзина пуста» и кнопка «Перейти в каталог».

Если корзина не загрузилась

СостояниеЧто видит покупатель
Первая загрузка«Загружаем корзину» и «Проверяем сохранённые товары и актуальные остатки»
Ошибка до получения состава«Не удалось загрузить корзину» и кнопка «Повторить»
Ошибка после успешной загрузкиПоследний подтверждённый состав остаётся на экране, сверху появляется «Не удалось обновить корзину»

:::note Что не удалось проверить на живом товаре На момент проверки все товары живого каталога имели статус «Нет в наличии», поэтому создать непустую корзину без изменения данных магазина было невозможно. Разметка, проверки цены и остатка, границы количества и блокировка оформления сверены по текущей логике витрины и сервера магазина. :::