Magento2: Мини-карта заполнена, пока корзина пуста

12

Многие наши клиенты жалуются, что они добавляют товары в корзину, а затем, когда они переходят к оформлению заказа, они перенаправляются в пустую корзину.
Мы подумали, что это может быть результатом слишком короткого времени сеанса, поэтому мы попытались увеличить время существования файла cookie / сеанса до 86400 (как для администратора, так и для сервера).
После этого я попытался воспроизвести проблему и смог добиться странного поведения, как вы можете видеть на прикрепленном скриншоте.
Я добавил продукты в корзину, вернулся через 20-30 минут и увидел свои вещи в мини-карте. затем я приступил к оформлению заказа, и он перенаправил меня в эту пустую корзину, пока миникарта все еще показывает мои товары (обновление страницы также не работает): введите описание изображения здесь

-- Любая идея?


ОБНОВЛЕНИЕ: До сих пор нам удалось решить эту проблему, изменив конфигурацию сеанса на использование файлов (отключено Memcached). Я знаю, что Magento рекомендует использовать Memcached и не знаю, что вызвало эту проблему ...

Pini
источник

Ответы:

2

App \ код \ Vendor \ Extension \ и т.д. \ фронтенд \ section.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd">
    <action name="extension/controller/action">
        <section name="cart"/>
    </action>
</config>

В этом имени параметра действия необходимо указать полное действие (например, оформить заказ / корзина / добавить), в котором обновляется корзина. Это означает, что вы программно удаляете или добавляете товар в корзину в корзину.

Наконец, прокомментируйте ниже, если вы столкнулись с какой-либо проблемой при использовании этого кода.

Удачного кодирования!

Юврайсиньх ИТ-инженер
источник
0

Magento помещает все данные, относящиеся к конкретному клиенту (корзина, имя клиента и т. Д.), В локальное хранилище, чтобы предотвратить кэширование на прокси-серверах, таких как Varnish. Позже эти данные вставляются на страницу с помощью JS. Наблюдаемое вами поведение является неверной конфигурацией времени жизни кэша. В идеале это должно быть согласовано с временем жизни сеанса.

Андрей Коносов
источник
Как я уже сказал, мы увеличили сессию и cookie до 86400, что не помогло. Единственное, что, похоже, решает проблему, это отключить memcached (который был настроен в соответствии с рекомендациями документации Magento). После этого мы перестали проверять проблему, поэтому я понятия не имею, что на самом деле вызвало ее.
Пини