ด้วยMagento 2.0.4 cache เปิดใช้งานแคชเฉพาะหน้ามากขึ้นทุกอย่างทำงานได้
ถ้าฉันปิดการใช้งานล้างคุกกี้และเข้าสู่ระบบในฐานะลูกค้ามากกว่าผลิตภัณฑ์ในminicartที่ไม่มี
ข้อความต้อนรับไม่ทำงานจริง ๆ ฉันต้องเพิ่มผลิตภัณฑ์ลงในรถเข็นจากหน้าผลิตภัณฑ์เพื่อที่จะได้เห็นรถมินิมาร์ท มากกว่าถ้าฉันไปเช็คเอาต์ประเทศจะไม่ปรากฏในที่อยู่สรุป (ที่อยู่จัดส่งเพิ่มในบัญชีของฉันแล้ว)
module-customer/view/frontend/web/js/customer-data.js
ฉันได้ทำการแก้จุดบกพร่องและดูเหมือนว่าปัญหาจะชี้ไปที่:
คุกกี้private_content_version
ตั้งอยู่ในและนำมาใช้ในmodule-page-cache/view/frontend/web/js/page-cache.js
customer-data.js
ดูcustomerData::reload
ฟังก์ชั่น
ด้วยแคชหน้าปิดการใช้งานข้อมูลไม่ได้โหลดจากเซิร์ฟเวอร์เป็นฟังก์ชั่นdataProvider::getFromServer()
ไม่
เมื่อแคชหน้าถูกปิดใช้งานคุกกี้private_content_version
จะไม่อยู่ที่นั่น (page-cache.js ไม่ได้ถูกดำเนินการนอกหลักสูตร) แต่คุกกี้section_data_ids
มีเพียง '*' และ 'ข้อความ' => ว่าง (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
หลังจากที่ฉันเข้าสู่ระบบด้วยการเปิดใช้งานแคชหน้าแดชบอร์ดลูกค้ามีคำขอ ajax เพิ่มเติมอีก 2 คำขอที่โหลดข้อมูล:
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)