Magento 2 미니 카트, 환영 메시지, 기타 고객 로그인 후 페이지 캐시가 비활성화 된 상태에서 작동하지 않음


16

마 젠토 2.0.4 캐시, 더 구체적으로 페이지 캐시가 활성화 된 모든 작품.

비활성화하면 쿠키를 지우고 미니 카트에 있는 제품보다 고객으로 로그인 하지 않습니다.

환영 메시지가 제대로 작동하지 않습니다. 미니 카트를 보려면 제품 페이지에서 장바구니에 제품을 추가해야합니다. 결제시 국가보다 주소 요약 (배송 주소가 이미 계정에 추가되어 있음)에 표시되지 않습니다.

디버깅을 완료했으며 문제가 다음을 가리키는 것처럼 보입니다 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에는 '*'및 'messages'=> 비어 있습니다 (false 또는 null).

페이지 캐시가 활성화되면이 private_content_versionsection_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 and 및 module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.jsfunction 참조하십시오 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

답변:


0

최신 버전의 M2에서 해결되었을 수도 있지만 이는 현저한 문제인 것으로 보입니다. Magento GitHub 문제를 참조하십시오.

당신이 시도 할 수있는 한 ...

쿠키와 관련이있는 경우 개인 브라우징 / 시크릿 브라우저로 사이트를 방문하여 가능성을 배제 할 수 있습니다. 워크 플로를 진행합니다 (로그인하지 않고 장바구니에 제품 추가, 고객 로그인, / checkout / cart 및 미니 카트 드롭 다운 참조).

또한 개발시 캐시 구성과 프로덕션 구성 간의 모범 사례에 대해서는 M2 dev 문서 를 검토하는 것이 도움이 될 수 있습니다 . 필자의 경험에 따르면 개발 과정에서 개발시 모든 캐시를 활성화하고 필요할 때 간단히 플러시하면됩니다 (각 캐시에 대한 설명은 문서를 읽으십시오). 대부분의 프론트 엔드 개발자로서 개인적으로 FPC, 블록 출력 및 레이아웃 캐시를 비활성화하여 개발하는 것을 선호합니다.이를 통해 프론트 엔드 변경 사항을보다 쉽게 ​​볼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.