私はSymfonyとsfDoctrineGuardPluginを使用しています。
テンプレートに現在のユーザーのユーザー名を表示するにはどうすればよいですか?
$ this-> getUser()-> getUsername()を試しましたが、「未定義のメソッドsfPHPView::getUserを呼び出してください」というエラーだけが表示されます。
特定のモジュール/テンプレートではなく、layout.phpにユーザー名を表示しようとしています
私はSymfonyとsfDoctrineGuardPluginを使用しています。
テンプレートに現在のユーザーのユーザー名を表示するにはどうすればよいですか?
$ this-> getUser()-> getUsername()を試しましたが、「未定義のメソッドsfPHPView::getUserを呼び出してください」というエラーだけが表示されます。
特定のモジュール/テンプレートではなく、layout.phpにユーザー名を表示しようとしています
テンプレート(ビュー)で、次を使用します$sf_user
。
ユーザー名の場合:
echo $sf_user->getUsername();
IDの場合:
echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser');
または、アクション(コントローラー)で、質問で行っていることを実行できます。
$this->username = $this->getUser()->getUsername();
その後$username
、ビューテンプレートで使用できるようになります。
他のビュー変数のショートカットについては、Symfonyドキュメントのテンプレートショートカットを参照してください。
次のことを試してください。それらの1つが機能する可能性があります。
$this->getSfGuardUser()
$this->getGuardUser()
$this->getUser()->getSfGuardUser()
$this->getUser()->getGuardUser()