Автор Тема: Выставление счета при отсутсвии товара  (Прочитано 45 раз)

03 Ноябрь 2017, 13:43:51
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте. Есть интернет-магазин с товарами на складе. При новом заказе сайт отобразил предупреждение "Нет доступного количества" и в заказе отобразил "-1 на складе". Выяснил причину - если два клиента добавляют единицу товара в корзину в одно время (при её реальном количестве - 1 штука), а потом по очереди формируют заказ, то счета выставляются обоим клиентам с полным наличием. То есть у меня есть 1 единица товара, а два разных клиента сделали заказ и получили счёт. Соответственно, мне требуется сделать так, чтобы при формировании заказа количество товаров на сайте вычиталось и сайт не давал сделать заказ клиенту, даже если у него в корзине уже был этот заказ.
03 Ноябрь 2017, 13:46:43
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 14167
  • Репутация: +14571/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Товар списывается при завершении заказа. Корзины не учитываются. Тот товар который в корзине не блокируется.
03 Ноябрь 2017, 14:06:11
Ответ #2
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Товар списывается при завершении заказа. Корзины не учитываются. Тот товар который в корзине не блокируется.
Допустим, два клиента добавили в свои корзины один последний товар. Один оформил в 14:00, а второй в 14:01. В моем случае, обоим выставляется счёт с полным наличием, хотя первый забрал последний товар и на складе получился недостаток. Как избежать подобной проблемы? Думаю, следует запретить формирование заказа при отсутствии доступного количества (даже если последний товар куплен минуту назад).
03 Ноябрь 2017, 14:22:09
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 987
  • Репутация: +10/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проверку наличия товара нужно добавить на заверщающем шаге.
В стандарном варианте проверка только на первом шаге.
03 Ноябрь 2017, 14:26:04
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 3066
  • Репутация: +72/-5
  • Сообщество PrestaShop
    • Просмотр профиля
https://prestashop-forum.ru/index.php/topic,984.msg4674.html#msg4674
Если есть модули оплаты, то еще и в них проверка нужна.
04 Ноябрь 2017, 09:02:40
Ответ #5
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проверку наличия товара нужно добавить на заверщающем шаге.
В стандарном варианте проверка только на первом шаге.
Как сделать сие приблуду? В самом движке не особо разбираюсь. Вчера была теория, что можно попробовать сменить на поэтапную регистрацию. Возможно там проверка есть.
04 Ноябрь 2017, 13:46:26
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 987
  • Репутация: +10/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В поэтапном тоже только придобавлении в корзину.
07 Ноябрь 2017, 14:49:21
Ответ #7
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проблема актуальна. Ссылку, которую кидали на решение проблемы я не понял (тапками не кидайтесь).
07 Ноябрь 2017, 15:26:14
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 14167
  • Репутация: +14571/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Так как в движке не разбираетесь, поэтому и непонятно. В той теме предлагают использовать стандарные хуки для проверки.
Создать нужно модуль, если хотите делать с хуками, или переопределить контроллер заказа, тогда можно без хуков. Второй вариант проще, в нем не нужно хорошо знать prestashop, достаточно php и js.
07 Ноябрь 2017, 16:07:12
Ответ #9
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Так как в движке не разбираетесь, поэтому и непонятно. В той теме предлагают использовать стандарные хуки для проверки.
Создать нужно модуль, если хотите делать с хуками, или переопределить контроллер заказа, тогда можно без хуков. Второй вариант проще, в нем не нужно хорошо знать prestashop, достаточно php и js.
Какой файл отвечает за это? Я больше по фронт энду, чем по бэк энду, поэтому пхп и жс для меня только на базовом уровне. Буду благодарен за развернутый ответ)
07 Ноябрь 2017, 18:16:35
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 14167
  • Репутация: +14571/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Отвечают контроллеры платежных модулей, которые установлены на сайте. В них нужно добавлять проверку перед оплатой и при возврате со статусом об успешной оплыте.
07 Ноябрь 2017, 19:11:43
Ответ #11
  • Новичок
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Отвечают контроллеры платежных модулей, которые установлены на сайте. В них нужно добавлять проверку перед оплатой и при возврате со статусом об успешной оплыте.
Кхм... Так счет формируется до оплаты с учетом товара которого нету в наличии.
08 Ноябрь 2017, 11:41:09
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 21057
  • Репутация: +25282/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Счет не формируется до оплаты, у вас неправильный prestashop.
До подтверждения метода оплаты формируются только корзины.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!