3
Magento 2:バックエンドとフロントエンドの状態/キャッシュの同期
Magento 2には、バックエンドとフロントエンドのローカルストレージ間の状態を管理するためのシステムまたは抽象化がありますか? リダイレクトURLを介してユーザーの放棄されたカートを復元する機能の移植に取り組んでいます。簡易形式では、次のようなURL http://magento.example.com/restore/the/cart?identifier=sdkfjh48v237g5 識別子のエンコードされたquote_idに基づいて、現在のユーザーのカートに見積もりをロードします。 Magento 1では、これは比較的簡単でした。ユーザーのCheckoutセッション情報を正しい見積もりIDで更新する必要がありました。ただし、Magento 2はローカルストレージのしわを追加します。 Magento 2フロントエンドjavascriptアプリケーションは、ブラウザのローカルストレージデータベースに情報をキャッシュするようです。これには、ミニカートを構築するための情報が含まれます。これが意味することは、エンドユーザープログラマー(私)がバックエンドのセッションセッションIDを変更したとしても、ミニカートには古いカートデータが表示されます。 これは、バックエンドとフロントエンド全体でアプリケーションの状態を管理するための単一のAPIを知らない(または持っている?)ことから生じる問題の一例です。特定の問題のために、JavaScriptを含むHTMLページをエンドポイントでレンダリングして、ローカルストレージを手動でクリアし、ユーザーを別のページにリダイレクトしましたが、これはひどいハックのように感じます。 フロントエンドとバックエンドの間でデータを管理するためのMagento 2にAPIはありますか? バックエンドの処理中に、フロントエンドのローカルストレージキャッシュを無効にする必要があるようなことをしたシステム全体に信号を送る標準的な方法はありますか? 自動的に実行され、残りのjavascriptアプリケーションがアクセスする前にローカルストレージを操作できる新しいRequireJSモジュールをページに挿入する方法はありますか?