Avec le cache Magento 2.0.4 , plus spécifiquement le cache de pages activé , tout fonctionne.
Si je le désactive, effacez les cookies et connectez-vous en tant que client, car les produits de minicart ne sont pas là.
Le message de bienvenue ne fonctionne pas vraiment bien. Je dois ajouter un produit au panier à partir d'une page de produit afin de voir le minicart. Que si je passe à la caisse, le pays n'est pas affiché dans le résumé de l'adresse (adresse de livraison déjà ajoutée dans mon compte).
Je l' ai fait le débogage et il semble que le problème pointe vers:
module-customer/view/frontend/web/js/customer-data.js
. Le cookie private_content_version
est installé module-page-cache/view/frontend/web/js/page-cache.js
et utilisé dans customer-data.js
. Voir customerData::reload
fonction.
Lorsque le cache de pages est désactivé, les données ne sont pas chargées à partir du serveur comme le dataProvider::getFromServer()
fait la fonction .
Lorsque le cache de page est désactivé, le cookie private_content_version
n'est pas là (page-cache.js n'est pas exécuté bien sûr). Mais le cookie section_data_ids
n'a que '*' et 'messages' => vide (faux ou nul).
Lorsque le cache de page est activé, il y a private_content_version
et section_data_ids
a quelles clés avec des valeurs:
*: null
cart: 123
compare-products: 123
customer: 123
directory-data: 123
last-ordered-items: 123
multiplewishlist: 123
review: 123
wishlist: 123
Une fois que je me suis connecté avec le cache de page activé, sur le tableau de bord du client, il y a 2 demandes ajax supplémentaires qui chargent les données:
http://test.localhost/customer/section/load/?sections=&update_section_id=false&_=123
http://test.localhost/customer/section/load/?sections=directory-data&update_section_id=false&_=123
Ceux-ci contiennent des objets json avec des données spécifiques au client et des données d'annuaire comme tous les pays et régions. Avec ces appels, lors du paiement, le résumé de l'adresse affiche le nom du pays. Voir: module-customer/view/frontend/web/js/sections-config.js
et module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js
, fonction getCountryName
.
Est-ce un bug de Magento 2 ou quelque chose que j'ai foiré? Merci
GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)