Magento 2 minicart,欢迎消息,其他在客户登录后禁用页面缓存的情况下不起作用


16

使用Magento 2.0.4缓存,更具体地说,启用页面缓存,一切正常。

如果我禁用它,请清除cookie,然后以客户身份登录,而不是minicart中的产品。

欢迎消息并不正确。我必须从产品页面将产品添加到购物车才能看到迷你车。比起结帐,我的国家/地区没有显示在地址摘要中(送货地址已添加到我的帐户中)。

我已经调试完毕,看来问题出在: 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'=>为空(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.jsmodule-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js,函数getCountryName

这是Magento 2错误还是我搞砸了?谢谢


您是否能够解决此问题或找出导致此问题的确切原因?我有非常类似的问题,Magento ver。2.0.1。如果刷新缓存(删除所有缓存文件夹)GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)
则会

1
尚未找到解决方案。您的情况可能更简单。查看错误是什么,然后尝试解决它。在Magento 2中启用错误,并解决该特定错误。我没有错误,只是没有加载数据。我没有看到我的案子有错。
晦涩的

我也遇到过同样的错误,我会说它与启用FPC一样具有magento2错误,它将起作用,但是一旦禁用它就不会起作用。要临时修复它,您需要以编程方式在每个页面上刷新微型购物车。
Salma Saiyad

Answers:


0

这似乎确实是一个悬而未决的问题,尽管也许在较新版本的M2中已解决。请参阅Magento GitHub问题:

就你可以尝试的...

如果这是与Cookie相关的,则可以通过使用专用浏览器/隐身浏览器访问您的网站来排除某些可能性。完成您的工作流程(未登录,将产品添加到购物车,客户登录,查看/ checkout / cart和minicart下拉菜单)。

此外,查看M2开发人员文档以获取有关在开发中配置缓存与在生产中配置缓存的最佳做法可能会有所帮助。以我的经验,在开发中,可以在开发中启用所有缓存,然后在需要时进行刷新即可(有关每个缓存的说明,请阅读文档)。请注意,作为一个大多数前端开发人员,我个人更喜欢在禁用FPC,块输出和布局缓存的情况下进行开发-这样可以更轻松地看到前端更改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.