Magento2: Minicart ist voll, während Cart leer ist

12

Viele unserer Kunden beschweren sich, dass sie Artikel in den Warenkorb legen. Wenn sie dann zur Kasse gehen, werden sie in einen leeren Warenkorb umgeleitet.
Wir dachten, dass dies möglicherweise auf eine zu kurze Sitzungszeit zurückzuführen ist, und haben daher versucht, die Lebensdauer der Cookies / Sitzungen auf 86400 zu erhöhen (sowohl auf dem Administrator als auch auf dem Server).
Danach habe ich versucht, das Problem zu reproduzieren und es geschafft, das seltsame Verhalten zu erreichen, wie Sie auf dem beigefügten Screenshot sehen können.
Ich habe Produkte in den Warenkorb gelegt, bin nach ca. 20-30 Minuten zurückgekommen und habe meine Artikel im Minicart gesehen. dann ging ich zur Kasse und es leitete mich zu diesem leeren Wagen weiter, während der Minicart noch meine Artikel anzeigt (das Aktualisieren der Seite funktionierte auch nicht): Geben Sie hier die Bildbeschreibung ein

-- Irgendeine Idee?


UPDATE: Bisher ist es uns gelungen, dieses Problem zu lösen, indem wir die Sitzungskonfiguration zurückgesetzt haben, um Dateien zu verwenden (deaktiviertes Memcached). Ich weiß, dass Magento die Verwendung von Memcached empfiehlt und keine Ahnung hat, was dieses Problem verursacht hat ...

Pini
quelle

Antworten:

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>

In diesem Aktionsparameternamen müssen Sie die vollständige Aktion (z. B. Kasse / Warenkorb / Hinzufügen) übergeben, in der der Warenkorb aktualisiert wird. Dies bedeutet, dass Sie ein Produkt programmgesteuert löschen oder in den Warenkorb legen.

Zuletzt kommentieren Sie unten, wenn bei der Verwendung dieses Codes Probleme auftreten.

Viel Spaß beim Codieren!

Yuvrajsinh IT-Ingenieur
quelle
0

Magento speichert alle kundenspezifischen Daten (Warenkorb, Kundenname usw.) im lokalen Speicher, um das Caching auf Proxys wie Varnish zu verhindern. Später werden diese Daten mit JS in die Seite eingefügt. Das von Ihnen beobachtete Verhalten ist eine Fehlkonfiguration der Cache-Lebensdauer. Idealerweise sollte es an der Sitzungslebensdauer ausgerichtet sein.

Andrey Konosov
quelle
Wie gesagt, wir haben sowohl Session als auch Cookie auf 86400 erhöht, was nicht geholfen hat. Das einzige, was das Problem zu beheben scheint, war das Deaktivieren des zwischengespeicherten Memcaches (das wie in den Magento-Dokumenten vorgeschlagen konfiguriert wurde). Danach haben wir aufgehört, das Problem zu überprüfen, sodass ich keine Ahnung habe, was es tatsächlich verursacht hat.
Pini