CakePHPで管理画面用のレイアウトを設定する

  1. config/core.phpでRouting.prefixesの設定を有効にする(コメントアウト解除)
  2. app/app_controller.phpのbeforeFilterに下記のコードを設定する
  3. 以上

[php]
<?php
class AppController extends Controller {

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

}
[/php]

Routing.prefixesの値として”admin”を使用した場合の記述です。例えばprefixesに”manager”を設定した場合は、5行目の「== ‘admin’」の部分を「== ‘manager’」として下さい。

6行目、$this->layoutの方は自分がapp/view/layoutフォルダ内に作った管理画面用のレイアウトファイル名に合わせて下さい。manager.ctpという名前なら「$this->layout = ‘manager’」となります。

app/app_controller.phpがない場合は、cake/libs/controller/app_controller.phpからコピーした上で、app配下のファイルを編集しましょう。

※参考
php – Change admin layout in CakePHP – Stack Overflow

コメントを残す

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