Magento2: Minicart est plein tandis que le panier est vide

12

Beaucoup de nos clients se plaignent d'ajouter des trucs au panier, puis lorsqu'ils passent à la caisse, ils sont redirigés vers un panier vide.
Nous pensions que cela pourrait être le résultat d'un temps de session trop court, nous avons donc essayé d'augmenter la durée de vie des cookies / sessions à 86400 (sur l'administrateur et le serveur).
Après cela, j'ai essayé de reproduire le problème et j'ai réussi à obtenir le comportement étrange comme vous pouvez le voir sur la capture d'écran ci-jointe.
J'ai ajouté des produits au panier, je suis revenu après environ 20-30 minutes et j'ai vu mes articles dans le minicart. puis j'ai procédé au paiement et il m'a redirigé vers ce panier vide pendant que le minicart affiche toujours mes articles (l'actualisation de la page n'a pas fonctionné non plus): entrez la description de l'image ici

-- Une idée?


MISE À JOUR: Jusqu'à présent, nous avons réussi à résoudre ce problème en modifiant la configuration de la session pour utiliser des fichiers (Memcached désactivé). Je sais que Magento recommande d'utiliser Memcached et je n'ai aucune idée de la cause de ce problème ...

Pini
la source

Réponses:

2

app \ code \ Vendor \ Extension \ etc \ frontend \ 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>

Dans ce nom de paramètre d'action, vous devez passer l'action complète (par exemple, checkout / cart / add) dans laquelle le panier est mis à jour. Cela signifie que vous supprimez ou ajoutez par programme un produit au panier.

Enfin, commentez ci-dessous si vous rencontrez un problème lors de l'utilisation de ce code.

Codage heureux!

Ingénieur informatique Yuvrajsinh
la source
0

Magento place toutes les données spécifiques au client (panier, nom du client, etc ...) dans le stockage local afin d'empêcher la mise en cache sur des proxys comme Varnish. Plus tard, ces données sont insérées dans la page à l'aide de JS. Le comportement que vous avez observé est une mauvaise configuration de la durée de vie du cache. Idéalement, il doit être aligné sur la durée de vie de la session.

Andrey Konosov
la source
Comme je l'ai dit, nous avons augmenté la session et les cookies à 86400, cela n'a pas aidé. La seule chose qui semble résoudre le problème était de désactiver le memcached (qui a été configuré comme suggéré par les documents de Magento). Nous avons arrêté de vérifier le problème après cela, donc je n'ai aucune idée de ce qui l'a réellement causé.
Pini