2

我在我的网站的主模板中有一个垂直菜单,我在所有网站页面中放置了相同的内容,所有其他模板都扩展了主模板。我的问题是;我们如何在所有页面的菜单中显示相同的内容,而不在所有其他控制器中传递相同的对象来显示扩展主页面的网页,例如:

我的主 layout.html.twig 中有一个垂直菜单,其中显示 3 个对象:object1、object2 和 object3。

在我的控制器中调用渲染函数时,我是否必须始终将 object1、object2 和 object3 传递给扩展主模板的模板?

难道没有更简单优雅的方式吗?

4

2 回答 2

2

I think you need to separate this menu from layout. Make an action in controller for this menu, action will manage displaying your menu and objects in this menu. Then render this action in layout template.

{% render "AcmeMenuBundle:Front:showMenu" %}
于 2013-03-24T15:29:05.393 回答
0

如果您的问题是关于构建菜单,那么我认为最优雅的方法是使用 KnpMenuBundle - https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md

但是,如果您的问题是关于向所有树枝模板添加内容,那么我看到了相同的答案 - 从 Symfony2 的树枝模板中获取数据?.

于 2013-03-24T21:16:00.130 回答