cakephp2.doc_012
最終投稿日:2019年11月20日
[app/Config/routes.php]
Router::connect('/members/:action/*',array('controller' => 'users'));
//members/index/ は /users/index/ に、/members/view/32 は /users/view/32 にルーティングされます。
【adminルーティング】
アドミンルーティングを使用したい場合はは、まず
[app/Config/routes.php]
上記設定ファイルに設定します。
プリフィックスする名前を『admin』とした場合は、
Router::connect('/admin/:controller/:action/*', array('prefix' => 'admin', 'profiles' => true));
上記の様に記述します。('admin'=>true と書いて後述のviewに'admin'=>trueと記述しても良い)
[app/Controller/***.php]
controllerには、
function admin_index(){
上記の様にアクションを指定します。
リダイレクト処理をする場合は以下の様に記述する
//プレフィックス付きの URL の場合はプレフィックス付きのアクションが呼ばれる
$this->redirect("bar");
//コントローラから指定するとプレフィックスは除外される
$this->redirect("/hoges/index");
//別のプレフィックス付きアクションを呼ぶ
$this->redirect("/foo/tests/foo");
----------------------------------------------------------------------------------
function beforeFilter(){
echo $this->params["prefix"];
//上記の様に beforeFilter 等でプレフィックスが設定されているかの分岐が可能です。
----------------------------------------------------------------------------------
[app/View/***/admin_***.ctp]
リンクを作成する時は、
<?php echo $this->Html->link("てすと",array(
"controller"=>"users","action"=>"admin_index","profiles"=>true)); ?>
上記の様に記述する。
フォームを作成する時は、
<?php echo $this->Form->create(
"User",array("action"=>"admin_index","url"=>array("profiles"=>true))); ?>
【注意】
本解説は、基本CakePHP2.x系です。
CakePHP1.x系の場合は、『$this->Html->link』等を『$html->link』に読み替えてください。