1

私はSymfonyとsfDoctrineGuardPluginを使用しています。

テンプレートに現在のユーザーのユーザー名を表示するにはどうすればよいですか?

$ this-> getUser()-> getUsername()を試しましたが、「未定義のメソッドsfPHPView::getUserを呼び出してください」というエラーだけが表示されます。

特定のモジュール/テンプレートではなく、layout.phpにユーザー名を表示しようとしています

4

2 に答える 2

8

テンプレート(ビュー)で、次を使用します$sf_user

ユーザー名の場合:

echo $sf_user->getUsername();

IDの場合:

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

または、アクション(コントローラー)で、質問で行っていることを実行できます。

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

その後$username、ビューテンプレートで使用できるようになります。

他のビュー変数のショートカットについては、Symfonyドキュメントのテンプレートショートカットを参照してください。

于 2010-11-18T14:18:54.370 に答える
0

次のことを試してください。それらの1つが機能する可能性があります。

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