ワニスに動的メニューを別の状態でキャッシュさせるにはどうすればよいですか?
私の現在のプロジェクト (Symfony 2.8 に基づく) では、KnpMenuBundle
と ニスを使用してページをキャッシュしています。ESI
また、一部のページで 1 つの特定の要素のキャッシュを無効にするためにも利用されます。その中のメニューです。しかし、これはそれほど変化する要素ではないため、メニューのさまざまな状態をキャッシュして、現在メニューを呼び出しているページに関連する状態を渡すことができるかどうか疑問に思っていました。
関連する主なファイルは次のとおりです。
main.html.twig
{{ render_esi(controller('AppBundle:Menu:mainESI')) }}
AppBundle\Controller\MenuController.php
public function mainESIAction($path = null)
{
return $this->render('menu/main_menu_esi.html.twig', [
'path' => $path
]);
}
menu/main_menu_esi.html.twig
{{ knp_menu_render('main-menu', {'template':'menu/main_menu.html.twig'}) }}