私はzendで新しく、zend framework 2.5.1を使用しています。 "authservice"を使用すると、プロジェクトでログイン認証が行われました。 $ this-> getAuthService() - > getIdentity();を使用してログインの詳細を取得できます。私のコントローラで。しかし、私はそれぞれのビューページ(レイアウト)でそれを使用したい。 私はセッションを管理することができますが、私はこれを行うことができません。 また、私はlayout.phtml(またはheader.phtml)にログインしたユーザ名を表示したいと思います。 「ようこそABC」のようなログインしたユーザー名を表示したい。 この問題を解決するのを手伝ってください。zend framework 2.5.1のlayout.phtmlの表示ユーザー名
0
A
答えて
2
layout.phtml
などのビューファイル、またはページ固有のビューヘルパーを参照してください。Identity
ただ、文書の状態のような
:
if ($user = $this->identity()) {
echo $this->translate('Welcome') . ' ' . $this->escapeHtml($user->getUsername());
} else {
echo $this->translate('Welcome guest');
}
1
は私が工場を経由して認証サービスを渡し、これを達成するために、カスタムビューヘルパーを使用します。
マイビューヘルパー
namespace Application\View\Helper;
use Zend\View\Helper\AbstractHelper;
use Zend\Authentication\AuthenticationService;
class WelcomeUser extends AbstractHelper
{
private $welcomeUser;
/**
*
* @param AuthenticationService $auth
*/
public function __construct(AuthenticationService $auth)
{
$this->welcomeUser = 'Guest';
if ($auth->hasIdentity()) {
$user = $auth->getIdentity();
$this->welcomeUser = $user->getFirstLastName();
}
}
/**
*
* @return string
*/
public function __invoke()
{
return $this->welcomeUser;
}
}
そして、それは工場
だnamespace Application\View\Helper\Service;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use Application\View\Helper\WelcomeUser;
use Zend\Authentication\AuthenticationService;
class WelcomeUserFactory implements FactoryInterface
{
/**
*
* @param ServiceLocatorInterface $serviceLocator
* @return WelcomeUser
*/
public function createService(ServiceLocatorInterface $serviceLocator)
{
return new WelcomeUser($serviceLocator->getServiceLocator()->get(AuthenticationService::class));
}
}
あなたのレイアウトで
'view_helpers' => array(
'factories' => array(
'welcomeUser' => 'Application\View\Helper\Service\WelcomeUserFactory',
),
),
最後にmodule.config.phpでヘルパーを表示、登録することを忘れないでください。 .phtml使用<?php echo $this->welcomeUser(); ?>
私はこの点をあなたが正しい方向に向けることを願っています。
関連する問題
- 1. layout.phtmlのみをロードしますが、Zend Framework 3では表示しません。
- 2. Zend FrameworkのWebサイト/ユーザー名
- 3. Zend Frameworkでイメージを表示
- 4. Zend Frameworkユーザー認証
- 5. Zend Framework:ブートストラップのモジュール名
- 6. Zend Frameworkの2ナビゲーションサブサブメニュー
- 7. Zend Frameworkのデフォルトのユーザー設定戦略
- 8. Zend Frameworkライブサーバーへの移行
- 9. Zend Frameworkでメニューアイテムを表示/非表示する方法
- 10. Zend Frameworkのホスト名と正規表現ベースのルート
- 11. Zend Frameworkの - 名前のプラグインが
- 12. Zend Frameworkのホスト名ルーティングとデフォルトルート
- 13. Zend Framework - 別のビューからのフォームを表示
- 14. Zend Framework:デフォルトのレイアウトスクリプトをlayout.phtml以外に変更するにはどうすればよいですか?
- 15. zend framework flash messangerメッセージとリダイレクト
- 16. ASP.NET MVC、Entity Framework:_LayoutにWindowsユーザー名を表示
- 17. ユーザー名の一覧表示
- 18. Zend FrameworkなしのZendツール
- 19. Zend Frameworkを使用したデータベースの一覧表示
- 20. Zend Frameworkのマルチプレイフォーム
- 21. Zend Frameworkの3
- 22. Zend Frameworkの - カスタムデコレーター
- 23. のZend Frameworkクラス
- 24. Zend Frameworkの:
- 25. Zend frameworkのデプロイメント
- 26. VistaのZend Framework
- 27. zend-frameworkのテンプレートシステム
- 28. Zend Frameworkの - リライト
- 29. Zend Frameworkのカスタムルート
- 30. zend frameworkのレイジーローディングコレクション