3

symfony プロジェクトで ESI を有効にし、プライベート フラグメントを含むパブリックとしてマークされたホームページを提供しようとしました。

ホームページコントローラー:

$response = $this->render("myMainBundle:Page:home.html.twig", $data);
$response->setSharedMaxAge(60*60); //cache for 1 hour
return $response;

ホームページの表示:

{{ render_esi(controller('myMainBundle:Esi:homeHeaderNavigation')) }}

ESI コントローラー:

$response = $this->render("myMainBundle:Esi:home_header_navigation.html.twig");
$response->setPrivate(); //no not cache
return $response;

デバッグ モードでは、ホームページに埋め込みコンテンツが表示されますが、含まれているフラグメントが非公開としてマークされていても、応答は公開としてマークされます。プライベートでいいんじゃない?

4

1 に答える 1