miniShop2 icon indicating copy to clipboard operation
miniShop2 copied to clipboard

Проверка на существование товаров в заказе перед созданием заказа

Open biz87 opened this issue 3 years ago • 2 comments

Запрос функции / Feature request

Резюме / Summary

Перед созданием заказа необходимо проверить а не пустая ли корзина, добавлены ли товары.

Зачем это нужно / Why is it needed?

Частый прецендент - медленный сервер, дополнительная бизнес-логика, оформление заказа происходит долго. Клиент нажимает кнопку несколько раз - заказ создается несколько раз, но в первый раз корзина очищается и последующие заказы получаются пустыми.

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

biz87 avatar Apr 12 '21 07:04 biz87

Да и проверку на опубликованность товара тоже думаю нужно сделать из коробки. Например, человек добавил товар в корзину и закрыл вкладку. Данные сохранились в сессии. Через 2 дня зашел, нажал "заказать". А товар уже снят с продажи (галка "опубликован" у ресурса выключена). Но заказ все равно отправляется с этим товаром.

EMDM45 avatar Sep 22 '21 06:09 EMDM45

Поддерживаю добавление такого функционала из коробки, очень много прецедентов с miniShop2: Пустые заказы Заказы с товарами, которых уже нет Заказы с не актуальными данными

В других ecommerce движках видел реализации по времени сессии, таймером на js, проверка в момент отправки заказа. Но последний вариант - изначально плохое решение, нужно делать проверку наличия товаров в момент захода на страницу, чтобы пользователь мог предпринять какие-то действия до отправки заказа. Здесь может помочь https://html.spec.whatwg.org/multipage/interaction.html#page-visibility. В одной реализации видел удобный вариант - появляется окно с уведомлением, что статус некоторых товаров изменился и предлагается перманентно обновить информацию в корзине без варианта закрыть окно или проигнорировать как либо это уведомление. Так же важно учесть реализацию этого функционала в случаях, когда процесс оформления состоит из отдельных этапов: корзина и оформление. Так как бывают случаи, что пользователи застревают на странице именно оформления заказа и возвращаются к ней спустя время. Здесь так же нужно проводить проверку всех параметров заказа, как состава корзины так и условий доставки и оплаты, потому что за время отсутствия пользователя могли поменяться тарифы, способы оплат и доставки.

Semdevmaster avatar Sep 20 '22 10:09 Semdevmaster