CakePHP-ログインの有無で表示を分ける
Viewで表示する内容を、ログインの有無によって変えるよう実装してみました。
どのViewでも使えるようにAppController内に以下のメソッドを追加することで、ログイン有無の情報をViewに渡しています。
AppController
public function beforeRender(){ //ログイン後にユーザ情報をSessionに保存しているものとする。 if($this->Session->check('user')){ $this->set('isLodined',true); }else{ $this->set('isLodined',false); } }
beforeRenderはコントローラのアクションの後、ビューが描画される前に呼ばれます。
後はview内で以下のように描画を分岐してやります。
<?php if($isLogined){ ?> <!--ログイン時の処理--> <?php }else{ ?> <!--未ログイン時の処理--> <?php } ?>
もっと上手いやり方がきっとあると思いますが、作ってみました(゚ペ)