[CakePHP] プレフィックスルーティングを使って管理者ページを作成する

管理者ページを作成したいときに役立つのがプレフィックスルーティング。

たとえば admin 以下を管理者ページとして、通常ページとレイアウトを切り替えたりできる。

1. プレフィックスルーティングを有効にする

デフォルトでは無効になっている。以下の行のコメントを外して有効にする。

2. コントローラにadminのプレフィックスをつけたメソッドを作成する

このメソッドは /admin/products/index のURLで呼び出される。

3. ビューファイルを作成する

メソッド名と同じ名前でビューファイルを作成する。app/Views/Products/admin_index.ctp

4. アクセスに応じてレイアウトを切り替える

まずはadmin用のレイアウトを作る。app/View/Layouts/admin.ctp

アクセスに応じてレイアウトを切り替えるには、adminのプレフィックスが付いたメソッドでレイアウトを指定する。

これは手軽だけど、全てのadminメソッドで指定しないといけないので手間。

基底クラスに以下のように書いておくと簡単で確実。

参考サイト

Routing — CakePHP Cookbook 2.x documentation
http://book.cakephp.org/2.0/en/development/routing.html#prefix-routing