私はこれをAppControllerに入れることを考えていましたが、これはそれぞれのビューファイルに同じコードを持たなければならないということです。これをヘッダーに入れて、すべてのビューに表示します。私はまた、そこにいくつかのロジックがある場合は、そこにログオンして表示されたリンクと私のユーザーメニューだけを表示する必要があります。同様に、私がログインしていない場合は、登録とログインのリンクを表示してください。誰かが私に手を差し伸べるか、正しい方向に私を向けることができますか?ありがとうございました!CakePHPとのログイン/ログアウトリンクを含める最も良い方法は何ですか?
2
A
答えて
5
//layout .ctp
<div class="header">
<?php
if($this->Session->read('Auth')) {
// user is logged in, show logout..user menu etc
echo $this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout'));
} else {
// the user is not logged in
echo $this->Html->link('Login', array('controller' => 'users', 'action' => 'login'));
}
?>
</div>
は片道です。コードがlayout
にある場合は、すべてview
に表示され、冗長コードが無効になります。
0
ケーキ3について、あなたはこれを使う必要があります。
$this->request->session()->read('Auth')
関連する問題
- 1. インスタンスとファイルを含める最も良い方法は何ですか?
- 2. AngularJS + Webpack2でテンプレートを含める最も良い方法は何ですか?
- 3. RailsクエリにLIKE句を含める最も良い方法は何ですか?
- 4. PowerPointプレゼンテーションにコードサンプルを含める最も良い方法は何ですか
- 5. ReactJSをCakePHP 3.xでセットアップする最も良い方法は何ですか?
- 6. wpfプログラムにデータベースを含める最も良い方法は?
- 7. asp.netのテキストボックスにリンクとコードを含める最も良い方法は何ですか?
- 8. コレクションをロックする最も良い方法は何ですか?
- 9. TYPO3バックエンドにjQueryを含める最も良い方法
- 10. 私のアプリに静的情報を含める最も良い方法は何ですか?
- 11. WordPressのサイドバーにRSSフィードを含める最も良い方法は何ですか?
- 12. PHPテンプレートのheadセクションにメタタグを含める最も良い方法は何ですか?
- 13. Create-React-App:node_moduleディレクトリのCSSを含める最も良い方法は何ですか?
- 14. シェフの役割にコメントを含める最も良い方法は何ですか?
- 15. 外部htmlファイルを別のhtmlファイルに含める最も良い方法は何ですか?
- 16. 流星キッチンにテンプレート/プラグインライブラリを含める最も良い方法は何ですか?
- 17. tsconfigに明示的にタイプを含める最も良い方法は何ですか?
- 18. node.jsスクリプトに巨大なjsonを含める最も良い方法は何ですか?
- 19. NuSMVを学ぶ最も良い方法は何ですか?
- 20. Django 1.5を学ぶ最も良い方法は何ですか?
- 21. jQueryを学ぶ最も良い方法は何ですか?
- 22. プロジェクトで最も良いバージョン管理方法は何ですか
- 23. スクリプトとcssをMVC3のレンダリング/パーシャルビューに含める最も良い方法
- 24. PicasaとJSFソフトウェアを統合する最も良い方法は何ですか?
- 25. 最も良い方法は何ですか
- 26. Lektorにお問い合わせフォームを含める最も良い方法は?
- 27. 現在のHTTPプロトコルで外部jsを含める最も良い方法
- 28. 最新のWebブラウザのためにfaviconをロードする最も良い方法は何ですか?
- 29. ページにAPIを含める最も効率的な方法は何ですか?
- 30. フラッシュでオブジェクトをプログラムでスワップする最も良い方法は何ですか?
ああ、私は参照してください。 Layout.ctpはやり方です。 layout.ctpに付随するコントローラは何ですか? – Strawberry
各ビューはレイアウトを使用します。これは必要に応じて定義します。特に 'layout'のためのコントローラはありません。デフォルトのレイアウトファイルは 'default.ctp'と呼ばれ、すべてのビューはデフォルトで使用されます。あなたのコントローラ(またはビュー、私は信じる)で '$ this-> layout = 'layout_name''を使ってビュー単位でレイアウトを調整できます。 – Ross