我正在尝试从 knpMenu 修改模板。我将它重命名为 knp_main_menu.html.twig
config.yml:

knp_menu:
    twig:
        template: knp_main_menu.html.twig
    templating: true
    default_renderer: twig
knp_menu.html.twig 有效,但我的文件(原始文件的精确副本)无效。有没有办法做到这一点?

我的最终目标是制作与图标一起使用的模板:

例如:
$menu->addChild('Grupy', array(
            'route' => 'group',
            'attributes' => array(
                'title' => 'Dodaj nową grupę',
                'data-icon' => 'group',
                'data-id' => 'groups_list',
            )
        ));

应该产生这样的东西:
<ul>
    <li title="Dodaj nową grupę" data-id="groups_list" data-icon="group">
        <a href="...">
            <img src="somedir/group.png" /> Grupy
        </a>
    </li>
</ul>

最佳答案

这很简单:

{{ knp_menu_render('AlefDemoBundle:Builder:mainMenu', { 'template': 'AlefDemoBundle:Menu:knp_main_menu.html.twig' }) }}

里面的 Twig 模板。

关于Symfony 2.0 KnpMenu 自定义模板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10244030/

10-14 03:09