Magento 2 minicart, thông báo chào mừng, khác không hoạt động với bộ đệm trang bị vô hiệu hóa sau khi khách hàng đăng nhập


16

Với bộ đệm Magento 2.0.4 , bộ đệm trang được kích hoạt cụ thể hơn , mọi thứ đều hoạt động.

Nếu tôi vô hiệu hóa nó, xóa cookie và đăng nhập với tư cách là khách hàng hơn các sản phẩm trong minicart không có ở đó.

Thông điệp chào mừng không thực sự hoạt động đúng. Tôi phải thêm một sản phẩm vào giỏ hàng từ một trang sản phẩm để xem minicart. Hơn nếu tôi đi thanh toán, quốc gia không được hiển thị trong tóm tắt địa chỉ (địa chỉ giao hàng đã được thêm trong tài khoản của tôi).

Tôi đã thực hiện sửa lỗi và có vẻ như vấn đề đang chỉ đến : module-customer/view/frontend/web/js/customer-data.js. Các cookie private_content_versionđược thiết lập module-page-cache/view/frontend/web/js/page-cache.jsvà sử dụng trong customer-data.js. Xem customerData::reloadchức năng.

Khi bộ đệm trang bị vô hiệu hóa, dữ liệu không được tải từ máy chủ như chức năng dataProvider::getFromServer().

Khi bộ đệm trang bị vô hiệu hóa, cookie private_content_versionkhông có ở đó (page-cache.js không được thực thi ngoài khóa học). Nhưng cookie section_data_idschỉ có '*' và 'tin nhắn' => trống (sai hoặc không).

Khi bộ đệm trang được bật, có private_content_versionsection_data_idscó các phím có giá trị:

*:      null
cart:       123
compare-products:       123
customer:       123
directory-data:     123
last-ordered-items:     123
multiplewishlist:       123
review:     123
wishlist:       123

Sau khi tôi đăng nhập với bộ đệm trang được bật, trên bảng điều khiển của khách hàng, có thêm 2 yêu cầu ajax tải dữ liệu:

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

Chúng chứa các đối tượng json với dữ liệu thư mục và dữ liệu cụ thể của khách hàng như tất cả các quốc gia và khu vực. Với các cuộc gọi này, khi thanh toán, tóm tắt địa chỉ sẽ hiển thị tên quốc gia. Xem: module-customer/view/frontend/web/js/sections-config.jsmodule-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js, chức năng getCountryName.

Đây có phải là lỗi Magento 2 hay nó là thứ gì đó khiến tôi rối tung lên? Cảm ơn


Bạn đã có thể khắc phục điều này hoặc tìm thấy chính xác những gì gây ra điều này? Tôi đã có một vấn đề rất giống nhau, Magento ver. 2.0.1. Nếu tôi xóa bộ đệm (xóa tất cả các thư mục bộ đệm) tôi sẽ nhận được thông báo lỗi tương tự trong bảng điều khiển trình duyệt:GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)
maginfortis

1
Chưa tìm được giải pháp. Trong trường hợp của bạn, nó có thể là một trường hợp đơn giản hơn. Xem lỗi là gì và cố gắng sửa nó. Kích hoạt lỗi trong Magento 2 và khắc phục lỗi cụ thể đó. Tôi không gặp lỗi, chỉ là nó không tải dữ liệu. Tôi đã không thấy lỗi trong trường hợp của tôi.
che khuất

Tôi đã gặp phải lỗi tương tự và tôi sẽ nói đó là lỗi magento2 vì khi bật FPC, nó sẽ hoạt động nhưng một khi bạn vô hiệu hóa thì nó sẽ không hoạt động. Để khắc phục tạm thời, bạn cần làm mới minicart theo chương trình trên mỗi trang.
Salma Saiyad

Câu trả lời:


0

Đây dường như là một vấn đề nổi bật, mặc dù có lẽ nó được giải quyết trong các phiên bản mới hơn của M2. Xem các vấn đề về Magento GitHub:

Theo như những gì bạn có thể thử ...

Nếu đây là liên quan đến cookie, bạn có thể loại trừ một số khả năng bằng cách truy cập trang web của bạn trong trình duyệt ẩn / duyệt web riêng tư. Đi qua quy trình làm việc của bạn (không đăng nhập, thêm sản phẩm vào giỏ hàng, đăng nhập của khách hàng, xem / thanh toán / giỏ hàng và thả xuống minicart).

Ngoài ra, có thể hữu ích để xem xét các tài liệu phát triển M2 cho các thực tiễn tốt nhất về cấu hình bộ đệm trong phát triển so với cấu hình trong sản xuất . Theo kinh nghiệm của tôi, trong quá trình phát triển, bạn có thể bật tất cả các bộ đệm trong quá trình phát triển và chỉ cần xóa khi cần (đọc tài liệu để mô tả từng bộ đệm). Lưu ý, với tư cách là nhà phát triển phần lớn ở phía trước, cá nhân tôi thích phát triển với FPC, khối đầu ra và bộ đệm bố cục bị vô hiệu hóa - điều này cho phép thay đổi lối vào dễ dàng hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.