cakePHP1.3 管理者アクション
久々の新規案件のためやっとcakePHP1.3を触れるようになりました。
実は1.2も実務では使っていなかったため、いろいろと戸惑うことばかりです(汗)
まずは、管理者アクションからと思い、確かadmin_routingとかがあったな、と検索。
CakePHP 管理者用アクション - Shin x blog
を参考に設定していく。
しかし、1.2の情報のため、ソースを見てみるとどうやら違うらしい。
/app/config/core.php // 1.2の場合 define('CAKE_ADMIN', 'admin'); // 1.3の場合 Configure::write('Routing.prefixes', array('admin'));
とはいえ、アンコメントするだけなので、やることは同じ。
1.2の場合は、rout.phpの修正も必要だったらしいが、1.3はこれだけらしい。
そして、controller側で、管理者アクションかどうかを判断する。
if (!empty($this->params['prefix']) && $this->params['prefix']=='admin' && !empty($this->params['admin'])) { $this->layout='admin'; } else { $this->layout='user'; }
という感じになるらしい。
もし間違ってたら指摘して下さい。
これからAuthComponentも組み込んで画面を振り分けしたりする予定です。
追記
Routing.prefixesにadminしか指定していないなら、管理者アクションかどうかの判別は、こちらの方がすっきりすると思います。
if (!empty($this->params['prefix']) && !empty($this->params[$this->params['prefix']])) { $this->layout='admin'; } else { $this->layout='user'; }