Показать текущего вошедшего в систему пользователя

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

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

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

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

2 ответа

Решение

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

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

echo $sf_user->getUsername();

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

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

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

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

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

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

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

$this->getSfGuardUser()
$this->getGuardUser()
$this->getUser()->getSfGuardUser()
$this->getUser()->getGuardUser()
Другие вопросы по тегам