Показать текущего вошедшего в систему пользователя
Я использую 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()