CakePHPでのレイアウトは Contorller::$layout で指定できるのだけど

管理画面とかユーザー用ページを作る場合に、

最初はAppControllerのサブクラス作ってそれぞれ処理を分ける?って考えたけど、

Cakeっぽくなさそうだなーと思ってメジャーそうなものを調べてみた。

 

行き着いた結果がメジャーかどうかはわからないけど、規約どおりだったのでこんな感じで

 

ControllerのbeforeFilter()内で、prefixを見て判断する。

ex.)

 

function beforeFilter() {

if (isset($this->params[‘prefix’]) && $this->params[‘prefix’] == ‘admin’) {
$this->layout = ‘admin';

} else {

$this->layout = ‘rewanko';

}

 

ちなみに、$this->params[‘prefix’] の中にはコントローラーのパラメータが入っています。

詳細はこちら

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Post Navigation