我正在使用 Symfony 和 sfDoctrineGuardPlugin。
如何在模板中显示当前用户的用户名?
我试过$this->getUser()->getUsername(),但我得到的只是错误:“调用未定义的方法 sfPHPView::getUser。”
我正在尝试在 layout.php 中显示用户名,而不是在特定模块/模板中
我正在使用 Symfony 和 sfDoctrineGuardPlugin。
如何在模板中显示当前用户的用户名?
我试过$this->getUser()->getUsername(),但我得到的只是错误:“调用未定义的方法 sfPHPView::getUser。”
我正在尝试在 layout.php 中显示用户名,而不是在特定模块/模板中
在模板(视图)中,使用$sf_user
:
对于用户名:
echo $sf_user->getUsername();
对于身份证:
echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser');
或者,在 action (controller)中,您可以执行您在问题中所做的事情:
$this->username = $this->getUser()->getUsername();
然后$username
将在您的视图模板中可用。
其他视图变量的快捷方式见Symfony 文档中的模板快捷方式。
试试下面的。其中之一可能工作。
$this->getSfGuardUser()
$this->getGuardUser()
$this->getUser()->getSfGuardUser()
$this->getUser()->getGuardUser()