Prestashop 1.6 Ошибка с корзиной и новой вкладкой borwser, которая обновляет количество - PullRequest
0 голосов
/ 11 января 2019

У меня проблема с магазином Prestashop 1.6.1.23. Я использую модуль, который добавляет кредиты. Таким образом, пользователи могут покупать, только если у них уже есть кредиты.

Допустим, на моем счету зачислено 10 €.

Затем я добавляю в корзину цифровой продукт (это купон), который стоит 10 €. Все идет нормально. Я могу купить продукт и получить ключ продукта после завершения оплаты.

Если я перейду к последнему шагу заказа, прежде чем нажать (подтвердить заказ) Затем откройте новую вкладку корзины. Обновите количество товара с 1 до 4, например. Затем вернитесь к моей исходной вкладке, которая оставлена ​​в (подтвердить заказ) государство. Нажмите для подтверждения заказа.

Платеж успешно отправлен и возвращает 4 ключа продукта вместо 1.

База данных обновляет таблицу ps_cart_product с правильным количеством. Хотя, поскольку первая вкладка не обновляется после обновления количества, в корзине есть ложные данные.

Когда форма была опубликована, я обнаружил, что она получает данные от $ cart = $ this-> context-> cart;

и $ cart-> getOrderTotal (true, Cart :: BOTH); возвращает сумму (10) перед количествами, которые были обновлены на новой вкладке. Таким образом, проверка того, что баланс выше или равен общему количеству проходов и завершает заказ.

Не было бы проблемы, если бы продукты были физическими, но, поскольку они являются цифровыми, а ключи продуктов отправляются сразу после завершения отправки.

Есть ли способ создать новый ключ сеанса для каждой новой вкладки, чтобы такой проблемы не было? или есть другой способ получить правильные данные и сумму из $ this-> context-> cart?

Спасибо!

...