【问题标题】:FOSUserBundle, global arguments / function before templatingFOSUserBundle,模板前的全局参数/函数
【发布时间】:2012-07-09 03:13:36
【问题描述】:

我是 Symfony2 和 FOSUserBundle 的初学者,尽管到目前为止我很喜欢它。截至目前,我可以覆盖现有模板(例如 layout.html.twig),以使 /login、/profile 等符合我网站其余部分的样式。但是,在使用 FOSUserBundle 之前,我的树枝从 php 控制器中获取了导航栏和其他小部件中的链接。所以我的树枝对拥有主页链接或帐户页面一无所知,例如我的 base.html.twig 循环遍历要渲染的各种对象的数组。过去,我会在调用 twig 时将这些作为变量传递,但现在 FOSUserBundle 完成了所有工作,这些变量未填充。

一种解决方案是覆盖所有 FOSUserBundle 控制器,找到它们调用模板引擎的位置,并挂钩全局函数以获取当前导航栏、获取当前状态栏等。另一种解决方案是使用 twig了解所有潜在的小部件,并根据 app.user 信息关闭。真的,我想要的是让 FOSUserBundle 在移交给树枝之前附加一些信息。我想这样做而不必修改或覆盖一堆代码。谢谢!

【问题讨论】:

    标签: symfony twig fosuserbundle


    【解决方案1】:
    • 您可以使用{% render %} 嵌入控制器操作。
    • 使用全局变量将菜单项注入到 twig 呈现的所有模板中。
    • 使用函数获取所有菜单项并使用{% include %} 部分呈现它
    • 创建您自己的标签{% myAwesomeMenu %}

    【讨论】:

    • 谢谢! {% render %} 正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    相关资源
    最近更新 更多