完成右侧的Twig导航(附加变量以进行渲染)

时间:2013-11-14 08:27:14

标签: php symfony twig

我试图使用twig在symfony中使用导航。它没有像我预期的那样工作。我想要一个服务或另一个控制器来提供navigation.items,所以我不必将它包含在每个响应对象中。所以,如果我这样渲染:

...
    return $this->render('AcmeDemoBundle:Default:index.html.twig', array('title' => $slug));
}

我可以包含这个:

{# app/src/Acme/Bundle/AcmeDemoBundle/Resources/views/Navigation/navigation.html.twig #}
<nav>
    <ul>
        {% for item in navigation.items %}
            <li>
                <a href="{{ url(item.action) }}">{{ item.title }}</a>
            </li>
        {% else %}
            <li>The menu is empty.</li>
        {% endfor %}
    </ul>
</nav>

1 个答案:

答案 0 :(得分:0)

尝试实施KnpMenuBundle:https://github.com/KnpLabs/KnpMenuBundle

此捆绑包可以处理您提出的所有问题。

文档描述了一个简单的实现:https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md