사용자 정의 모듈없이 전체 페이지 캐시를 홀 펀치하는 방법


18

우리의 전체 페이지 캐시는 세션을 기반으로하는 것 같습니다. 크롬으로 시크릿 창을 열고 페이지 중 하나를 방문하면 캐시가 따뜻해지고 두 번째 페이지로드가 훨씬 빠르지 만 해당 창을 닫고 새 시크릿 창을 열면 페이지가 더 이상 전체 페이지 캐시이며 다시 예열해야합니다. 우리는 이것이 사용자에게 장바구니의 내용을 보여주는 사이드 바 때문이라고 생각합니다.

그 HTML을 새로운 phtml 파일로 옮기고 레이아웃 xml 블록을 제곱 한 후 cache.xml 파일에서 작업하고 있습니다 ....

cache.xml에 대해 찾은 모든 예제는 모듈을 참조하지만 레이아웃 xml 블록에 모듈을 사용하지 않고 코어 / 템플릿을 사용했습니다 ...

모듈 및 / 또는 모델이 필요없는 xml의 캐싱 블록에 누군가가 빛을 발할 수 있습니까?


Magento Enterprise 전체 페이지 캐시를 사용 중이거나 Varnish와 같은 타사 도구를 사용하고 있습니까? 장바구니가 보이는 경우 페이지는 캐시 키의 일부로 세션을 사용합니다. 시크릿 모드는 닫은 후 모든 쿠키를 삭제하므로 페이지를 다시 연 후 새 세션을 얻게됩니다. 구멍을 뚫는 데 문제가 있습니다. Fabrizio는 훌륭한 게시물을 가지고 있습니다 : fabrizio-branca.de/…
Tim Reynolds

tweetorials.tumblr.com/post/10160075026/… 도움이 될 수 있습니다.
B00MER

답변:


6

cache.xml을 포함하는 모듈이 없어도 Enterprise Edition에서 플레이스 홀더를 작성할 수있는 방법은 없으며 플레이스 홀더 정의의 홈입니다. 따라서 전체 페이지 캐시에 사용자 정의 구멍이 필요한 경우이를 정의하기위한 모듈을 작성해야합니다.

내장 된 사이드 바 카트 블록에는 상자 자리 표시자가 있습니다. 이 자리 표시자는 사용자 세션을 기반으로 캐시 된 내용에 태그를 지정합니다. 페이지의 주요 내용은 다른 사용자들로부터 예열 된 캐시에서로드 될 것입니다.이 "구멍"만이 사용자별로 채워지고 생성되어야합니다. 또한 사용자의 카트 내용이 변경되면이 구멍의 내용이 다시 생성되고 캐시됩니다.

위의 내용은 실제로 Enterprise Edition FPC이며 사용자가 참조하는 홀 펀칭은 니스와 같은 것이 아니라는 가정하에 있습니다. 올바른 구성으로 바니시를 사용하는 경우 Magento를 처음 방문 할 때 캐시의 페이지를 제공하지 않습니다. 처음 방문 할 때 응용 프로그램이 세션을 생성 할 수 있도록 사용자 요청을 Magento로 전달해야하기 때문입니다.

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