Symfony2在导航中获取用户名

Mat*_*amp 2 php templates bundles symfony twig

我已经开始使用Symfony2 Framework,它对我来说非常棒.在创建第一个包以使用Symfony2重建现有项目后,我遇到了这个问题:

{% block navigation %}base.html.twig中创建了一个放置导航的地方.然后,在我的包中,我正在扩展base.html.twig,导航是可见的.一切安好.

我的问题是我想向登录用户显示问候语,但base.html.twig没有逻辑或容器,我想知道如何"推送"用户信息以便我不需要在每个包的控制器中定义用户信息.

目前,我的控制器操作如下所示:

public function indexAction()
{
    $sUser = $this->getUser();
    return $this->render('@WhatEver/index.html.twig', array(
        'sUser'  => $sUser
    ));
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何管理我的项目,以便每个包中都存在导航中的用户信息?

Twig Extension是正确的方法吗?或者我是否需要更改我包含模板的方式?

感谢所有能帮助我解决这个问题的人!

Roo*_*eyl 5

可以使用以下方法直接在Twig中访问标准Symfony用户;

{{ app.user.username }}
Run Code Online (Sandbox Code Playgroud)

  • 您还可以使用默认过滤器`{{app.user | default('未登录')}}` (2认同)