如何獲取清漆以緩存處於不同狀態的動態菜單?特定路徑上的ESI緩存
我目前的項目(基於Symfony 2.8)使用KnpMenuBundle
和清漆來緩存頁面。它也使用ESI
爲了禁用緩存一些頁面上的特定元素。其中就是菜單。但是由於這不是一個變化很大的元素,我想知道是否可以緩存菜單的不同狀態並將相關的一個傳遞給當前調用菜單的頁面。
涉及的主要文件如下:
main.html.twig
{{ render_esi(controller('AppBundle:Menu:mainESI')) }}
的appbundle \控制器\ MenuController.php
public function mainESIAction($path = null)
{
return $this->render('menu/main_menu_esi.html.twig', [
'path' => $path
]);
}
菜單/ main_menu_esi.html.twig
{{ knp_menu_render('main-menu', {'template':'menu/main_menu.html.twig'}) }}
感謝您的回答。我需要一個確認。 :) – thoroc