Czy Magento 2 ma jakieś systemy lub abstrakty do zarządzania stanem między backendem a lokalną pamięcią masową na frontendie?
Pracuję nad przeniesieniem funkcji przywracania porzuconego koszyka użytkownika za pomocą przekierowania. W uproszczonej formie, taki jak adres URL
http://magento.example.com/restore/the/cart?identifier=sdkfjh48v237g5
załaduje wycenę do koszyka bieżącego użytkownika na podstawie zakodowanego identyfikatora quote_id w identyfikatorze.
W Magento 1 było to stosunkowo proste - wystarczyło zaktualizować informacje o sesji Checkout użytkownika z poprawnym identyfikatorem oferty. Jednak Magento 2 dodaje zmarszczek lokalnej pamięci .
Wygląda na to, że aplikacja javascript w interfejsie Magento 2 buforuje informacje w lokalnych bazach danych przeglądarki. Obejmuje to informacje dotyczące budowy mini-wózka. Oznacza to, że nawet jeśli programistowi-użytkownikowi końcowemu (mnie) uda się zmienić identyfikator sesji sesji w backendie, mini-koszyk nadal będzie wyświetlał dane starego koszyka.
To tylko jeden przykład problemu, który wynika z braku znajomości (lub posiadania?) Pojedynczego interfejsu API do zarządzania stanem aplikacji w backendie i frontendzie. W przypadku mojego konkretnego problemu miałem punkt końcowy renderujący stronę HTML, która zawiera część javascript, ręcznie czyści lokalną pamięć, a następnie przekierowuje użytkownika na inną stronę - ale to wydaje się rażącym włamaniem.
Czy w Magento 2 jest interfejs API do zarządzania danymi między frontendem a backendem?
Czy istnieje standardowy sposób sygnalizowania całemu systemowi, że podczas przetwarzania zaplecza zrobiłeś coś, co powoduje, że konieczne jest unieważnienie lokalnej pamięci podręcznej frontendu?
Czy istnieje technika wstrzykiwania nowego modułu RequireJS na stronę, która działa automatycznie i może manipulować pamięcią lokalną, zanim pozostałe aplikacje javascript uzyskają do niej dostęp?