Verfügt Magento 2 über Systeme oder Abstraktionen zum Verwalten des Zustands zwischen dem Backend und dem lokalen Speicher auf dem Frontend?
Ich arbeite an der Portierung einer Funktion zum Wiederherstellen des verlassenen Warenkorbs eines Benutzers über eine Weiterleitungs-URL. In vereinfachter Form eine URL wie
http://magento.example.com/restore/the/cart?identifier=sdkfjh48v237g5
Lädt ein Angebot in den Warenkorb des aktuellen Benutzers, basierend auf einer verschlüsselten quote_id im Bezeichner.
In Magento 1 war dies relativ einfach - Sie mussten lediglich die Checkout-Sitzungsinformationen eines Benutzers mit der richtigen Angebots-ID aktualisieren. Magento 2 fügt jedoch die Fältchen des lokalen Speichers hinzu .
Die Magento 2-Frontend-Javascript-Anwendung (en) scheint Informationen in den lokalen Speicherdatenbanken des Browsers zwischenzuspeichern. Dies beinhaltet Informationen zum Aufbau des Mini-Carts. Dies bedeutet, dass selbst wenn ein Endbenutzer-Programmierer (ich) es schafft, die Sitzung Sitzungs-ID im Backend zu ändern, der Mini-Cart weiterhin die alten Cart-Daten anzeigt .
Dies ist nur ein Beispiel für ein Problem, bei dem keine einzige API für die Verwaltung des Anwendungsstatus im Backend und Frontend bekannt ist (oder vorhanden ist?). Für mein spezielles Problem hat mein Endpunkt eine HTML-Seite gerendert, die etwas Javascript enthält. Dadurch wird der lokale Speicher manuell gelöscht und der Benutzer dann auf eine andere Seite umgeleitet.
Gibt es in Magento 2 eine API zum Verwalten von Daten zwischen Frontend und Backend?
Gibt es eine Standardmethode, um dem gesamten System zu signalisieren, dass Sie während der Back-End-Verarbeitung etwas getan haben, das es erforderlich macht, den lokalen Front-End-Speichercache ungültig zu machen?
Gibt es eine Technik zum Einfügen eines neuen RequireJS-Moduls in die Seite, die automatisch ausgeführt wird und den lokalen Speicher manipulieren kann, bevor der Rest der Javascript-Anwendung (en) darauf zugreift?