Con la cache Magento 2.0.4 , in particolare la cache della pagina abilitata , tutto funziona.
Se lo disabilito, cancella i cookie e accedo come cliente rispetto ai prodotti in Minicart non ci sono.
Il messaggio di benvenuto non funziona davvero bene. Devo aggiungere un prodotto al carrello da una pagina del prodotto per vedere la minicart. Se vado alla cassa, il paese non viene visualizzato nel riepilogo dell'indirizzo (indirizzo di spedizione già aggiunto nel mio account).
Ho fatto degli errori e sembra che il problema sta puntando:
module-customer/view/frontend/web/js/customer-data.js
. Il cookie private_content_version
è impostato module-page-cache/view/frontend/web/js/page-cache.js
e utilizzato in customer-data.js
. Vedi customerData::reload
funzione
Con la cache della pagina disabilitata, i dati non vengono caricati dal server come fa la funzione dataProvider::getFromServer()
.
Quando la cache della pagina è disabilitata, il cookie private_content_version
non è presente (la pagina-cache.js non viene eseguita fuori rotta). Ma il cookie section_data_ids
ha solo '*' e 'messaggi' => vuoto (falso o nullo).
Quando la cache della pagina è abilitata c'è private_content_version
e section_data_ids
ha quali chiavi con valori:
*: null
cart: 123
compare-products: 123
customer: 123
directory-data: 123
last-ordered-items: 123
multiplewishlist: 123
review: 123
wishlist: 123
Dopo aver effettuato l'accesso con la cache della pagina abilitata, nella dashboard del cliente ci sono altre 2 richieste Ajax che caricano i dati:
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
Questi contengono oggetti json con dati specifici del cliente e dati di directory come tutti i paesi e le regioni. Con queste chiamate, al checkout il riepilogo dell'indirizzo visualizza il nome del paese. Vedi: module-customer/view/frontend/web/js/sections-config.js
e module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js
, funzione getCountryName
.
È un bug di Magento 2 o è qualcosa che ho sbagliato? Grazie
GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)