ナイルさまイベント
ナイルさまイベント

CakePHPでURLを任意に変更させる

まっちー

前回の記事でコントローラーの中身をフォルダ分けして整理するやり方を書きましたけど、その流れに乗ってURLなんかも管理側と表示側で変えることはできないのかなと思ったら、これが出来るらしいんですね。なかなか柔軟な野郎ですね。レッドオクトパス市原のようですね。

core.phpの60~70行目の辺りを見てみると

Configure::write('Routing.admin', 'admin');

みたいな感じの一文がコメントアウトされてると思うんですけど、このコメントアウトを外すと、URLが以下のような感じに変化されるようです。

http://localhost/test/controller/action/
↓
http://localhost/test/admin/controller/action/

デフォルトはadminになっていますが、これは任意に変えることが可能なようですね。

これを利用すれば、前回のやり方で管理画面用のコントローラーをcontrollers/admin以下に作成して、それらのURLをadmin/contorller/actionにすることもできるって寸法ですね。

ちなみに、URLをadmin~に変化させた場合は、コントローラーの中身もちょっと変えないといけない。

class TestsController extends AppController {

var $name= 'Tests';

function admin_index() {
    //詳細
}

本来のアクション名の前にadmin_をつけ足さないとmissingエラーが出ちゃいます。adminを任意の文字列に変えた場合は、この部分もそれに合わせて変えれば問題ないでしょう。試してないけど、たぶん。