【问题标题】:how to add the same content in all twig templates in symfony2 [duplicate]如何在 symfony2 的所有树枝模板中添加相同的内容 [重复]
【发布时间】:2013-03-26 10:37:54
【问题描述】:

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

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

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

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

【问题讨论】:

  • 抱歉,这不是同一个问题,我已经查看了 Dmitry Krasun 提供的链接

标签: php symfony twig symfony-2.1


【解决方案1】:

我认为您需要将此菜单与布局分开。在控制器中为这个菜单做一个动作,动作将管理在这个菜单中显示你的菜单和对象。然后在布局模板中渲染这个动作。

{% render "AcmeMenuBundle:Front:showMenu" %}

【讨论】:

  • 我认为只为渲染菜单(在每个页面上)发出子请求不会有效。
【解决方案2】:

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

但如果您的问题是关于向所有树枝模板添加内容,那么我看到了相同的答案 - Fetch data from inside a twig template in Symfony2?。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2013-04-30
    • 2012-04-23
    • 2013-08-24
    相关资源
    最近更新 更多