Показать текущего вошедшего в систему пользователя - PullRequest
1 голос
/ 18 ноября 2010

Я использую Symfony и sfDoctrineGuardPlugin.

Как отобразить в шаблоне имя пользователя текущего пользователя?

Я пытался $ this-> getUser () -> getUsername () , но все, что я получаю, это ошибка: «вызов неопределенного метода sfPHPView :: getUser.»

Я пытаюсь отобразить имя пользователя в layout.php, а не в конкретном модуле / шаблоне

Ответы [ 2 ]

8 голосов
/ 18 ноября 2010

В шаблоне (просмотр) , используйте $sf_user:

Для имени пользователя:

echo $sf_user->getUsername();

Для идентификатора:

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

Или, в действии (контролер) , вы можете делать то, что делаете в своем вопросе:

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

, а затем $username будет доступно в вашем шаблоне просмотра.

См. ярлыки шаблонов в документации Symfony для других ярлыков переменных представления.

0 голосов
/ 18 ноября 2010

Попробуйте следующее. Один из них может работать.

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