С кешем Magento 2.0.4 , точнее кешированием страниц , все работает.
Если я отключу его, удалите файлы cookie и войдите в систему как клиент, чем продукты в миникарте .
Приветственное сообщение на самом деле не работает правильно. Я должен добавить продукт в корзину со страницы продукта, чтобы увидеть мини-карту. Если я иду к оформлению заказа, страна не отображается в сводке адресов (адрес доставки уже добавлен в мой аккаунт).
Я сделал отладки , и это выглядит как проблема указывает на:
module-customer/view/frontend/web/js/customer-data.js
. Файл cookie private_content_version
устанавливается module-page-cache/view/frontend/web/js/page-cache.js
и используется в customer-data.js
. Смотрите customerData::reload
функцию.
Если кеш страниц отключен, данные не загружаются с сервера, как это dataProvider::getFromServer()
делает функция .
Когда кеш страниц отключен, cookie private_content_version
там нет (page-cache.js не выполняется по ходу). Но файл cookie section_data_ids
содержит только '*' и 'messages' => empty (false или null).
Когда кеш страниц включен, есть private_content_version
и section_data_ids
есть какие ключи со значениями:
*: null
cart: 123
compare-products: 123
customer: 123
directory-data: 123
last-ordered-items: 123
multiplewishlist: 123
review: 123
wishlist: 123
После того, как я вошел в систему с включенным кешем страниц, на информационной панели клиента есть 2 дополнительных ajax-запроса, которые загружают данные:
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
Они содержат объекты json с данными о клиентах и каталогами, как все страны и регионы. При этих вызовах при оформлении заказа в сводке адреса отображается название страны. Смотрите: module-customer/view/frontend/web/js/sections-config.js
и module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js
, функция getCountryName
.
Это ошибка в Magento 2 или я что-то напутал? Благодарность
GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)