1

我正在使用 Symfony 和 sfDoctrineGuardPlugin。

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

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

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

4

2 回答 2

8

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

对于用户名:

echo $sf_user->getUsername();

对于身份证:

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

或者,在 action (controller)中,您可以执行您在问题中所做的事情:

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

然后$username将在您的视图模板中可用。

其他视图变量的快捷方式见Symfony 文档中的模板快捷方式。

于 2010-11-18T14:18:54.370 回答
0

试试下面的。其中之一可能工作。

$this->getSfGuardUser()
$this->getGuardUser()
$this->getUser()->getSfGuardUser()
$this->getUser()->getGuardUser()
于 2010-11-18T14:54:07.050 回答