无法覆盖KnpMenuBundle模板

时间:2014-06-26 00:38:14

标签: symfony knpmenubundle

使用...MyBundle\Resources\views\Menu\knp_menu.html.twig,删除</li>对渲染菜单没有影响。 (删除标记是为了删除内联列表元素之间的空格。)我已按照this answer中提供的建议,包括该帖子底部提到的{% import 'knp_menu.html.twig' as knp_menu %}。这是因为knp_menu.html.twig已经延伸knp_menu_base.html.twig了吗?或者是什么?

layout.html.twig:

...
{{ render(controller('VolVolBundle:Default:userMenu')) }}
...

userMenuAction:

$user = $this->getUser();
$tool = $this->container->get('vol.toolbox');
$type = $tool->getUserType($user);
return $this->render(
                'VolVolBundle:Default:userMenu.html.twig', array('type' => $type)
);

userMenu.html.twig

...
{% if type is not null %}
    {% set menu = "VolVolBundle:Builder:"~type~"Menu" %}
    {{ knp_menu_render(menu) }}
{% endif %}

1 个答案:

答案 0 :(得分:0)

答案很深in here。完成模板全局覆盖所需的全部内容是修改config.yml

config.yml:

...
knp_menu:
    twig:  # use "twig: false" to disable the Twig extension and the TwigRenderer
        template: VolVolBundle:Menu:knp_menu.html.twig
...