我正在使用Symfony和sfDoctrineGuardPlugin。
如何在模板中显示当前用户的用户名?
我已经尝试 $ this-> getUser() - > getUsername(),但我得到的只是错误:“调用未定义的方法sfPHPView :: getUser。”
我正在尝试在layout.php中显示用户名,而不是在特定的模块/模板
中答案 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()