CakePHP2.x で Admin Routing する方法。
管理者用URL : http://example.com/admin/topics
ユーザ用URL : http://example.com/topics
というように、ユーザ用ページのURLと、管理者用URLをアクションで切り替えるおなじみの方法ですが、これの CakePHP2 系統での設定方法です。
CakePHPのバージョンは、2.3.6です。
管理者用のURLを作成する方法
/app/config/core.php ファイルの124行目付近
1 |
Configure::write('Routing.prefixes', array('admin')); |
という行のコメントを外す。
あとは管理者用としても使いたいコントローラーのアクション名に admin_ をつけるだけ。
例えば、TopicsController の form アクションを管理者用にしたいのであれば、
1 2 3 |
public function admin_form() { // 処理 } |
とし、同じように"admin_"をつけた view 用のファイル(admin_form.ctp)を用意します。
ちなみにこの場合は
http://example.com/admin/topics/form
が管理者用のURLとなります。
管理画面用のレイアウトを呼ぶ
同時に、管理画面用のレイアウトを呼ぶ場合。
app/View/Layouts/ に レイアウト(admin.ctp とでもします) を追加し、以下のコードを、AppController.php の、beforeRender() に追記。
1 2 3 4 5 6 7 8 9 10 |
function beforeRender() { /** * 管理者用レイアウトを呼び出す * */ if ( Configure::read('Routing.prefixes') && !empty($this->params['admin']) ) { $this->layout = 'admin'; } } |
これで、管理画面用のレイアウトファイルが使えるようになります。簡単ですね!
[tgAmazonItemLookup asin="B00A0CY4QE" related="1"]