显示当前登录用户

时间:2010-11-18 14:10:01

标签: php symfony1 sfdoctrineguard

我正在使用Symfony和sfDoctrineGuardPlugin。

如何在模板中显示当前用户的用户名?

我已经尝试 $ this-> getUser() - > getUsername(),但我得到的只是错误:“调用未定义的方法sfPHPView :: getUser。”

我正在尝试在layout.php中显示用户名,而不是在特定的模块/模板

2 个答案:

答案 0 :(得分:8)

在模板(视图)中,使用$sf_user

用户名:

echo $sf_user->getUsername();

对于id:

echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser');

或者,在动作(控制器)中,您可以执行您在问题中所做的事情:

$this->username = $this->getUser()->getUsername();

然后$username将在您的视图模板中提供。

有关其他视图变量快捷方式,请参阅Symfony文档中的template shortcuts

答案 1 :(得分:0)

尝试以下方法。其中一个可以工作。

$this->getSfGuardUser()
$this->getGuardUser()
$this->getUser()->getSfGuardUser()
$this->getUser()->getGuardUser()