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 ...

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!


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.