CakePHP

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行目付近

[php]
Configure::write('Routing.prefixes', array('admin'));
[/php]

という行のコメントを外す。

あとは管理者用としても使いたいコントローラーのアクション名に admin_ をつけるだけ。
例えば、TopicsController の form アクションを管理者用にしたいのであれば、

[php]
public function admin_form() {
// 処理
}
[/php]

とし、同じように"admin_"をつけた view 用のファイル(admin_form.ctp)を用意します。

ちなみにこの場合は
http://example.com/admin/topics/form
が管理者用のURLとなります。

管理画面用のレイアウトを呼ぶ

同時に、管理画面用のレイアウトを呼ぶ場合。
app/View/Layouts/ に レイアウト(admin.ctp とでもします) を追加し、以下のコードを、AppController.php の、beforeRender() に追記。

[php]
function beforeRender()
{
/**
* 管理者用レイアウトを呼び出す
*
*/
if ( Configure::read('Routing.prefixes') && !empty($this->params['admin']) ) {
$this->layout = 'admin';
}
}
[/php]

これで、管理画面用のレイアウトファイルが使えるようになります。簡単ですね!

[tgAmazonItemLookup asin="B00A0CY4QE" related="1"]

-CakePHP
-, ,