Товар добавляется в корзину только со второй попытки

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Ольга Ивченко
  • Группа: Клиент
  • Сообщений: 6
  • Регистрация: 27.04.2015

05.05.2015 22:54

В магазине часть товара добавляется нормально в корзину. Часть нет.
Почему?
Пример товара который не появляется в корзине:
http://ortodon.ru/tovar-art-13-112.html

Пример товара который появляется в корзине:
http://ortodon.ru/tovar-art-55-135.html


#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8886
  • Регистрация: 20.02.2010

07.05.2015 02:10

Наличие сбоя не зависит от товара.
Причиной этого сбоя является неполная совместимость кэширования с теми проверками form key, которые появились в Magento Community Edition 1.8.1.0.
Как я уже писал в теме Как устранить сбой «Форма авторизации на странице оформления заказа не передала на сервер параметр «form_key»», проверки form key были введены в Magento Commmunity Edition ради безопасности.
Однако ранее созданные оформительские темы и модули могут быть несовместимыми с ними.
В частности, сбой с добавлением товара в корзину при включенном кэшировании широко описан в интернете:magento cache getAddToCartUrl
Модуль «Полностраничное кэширование» тоже работал с этими проверками не совсем правильно.
Для воспроизведения сбоя надо:
  • включить полностраничное кэширование
  • зайти на витринную страницу товара
  • удалить из браузера все куки сайта (например, посредством Firebug или консоли Google Chrome)
  • перезагрузить страницу товара (например, клавишей F5), чтобы сайт передал браузеру новые куки
  • нажать кнопку для добавления товара в корзину

Вот при такой последовательности товар может не добавиться в корзину.
Сбой воспроизводится далеко не во всех магазинах: зависит от версии Magento Community Edition и используемой оформительской темы.
Думаю, каждому администратору магазина надо протестировать свой магазин на наличие этого сбоя.
Добавил к версии 2.43.15 Российской сборки Magento улучшения, которые устраняют возможность такого сбоя.

Поделиться темой: