2011-05-16 130 views
0

我想用路由器的友好網站的蛋糕。 我的網址是這種類型的:cakePhp路由,我該如何創建一個路由......?

http://domain/some_text/categories/view/4/5/6 
http://domain/other_text/articles/read/new-stuff 
http://domain/xyz_text/charts/list/latest/10 

的基本思想是,URL (some_text, other_text, xyz_text)的第一部分將被轉發作爲參數的動作,但不作爲命名參數。

  1. 我可以在單一路線中建立這樣的路線嗎?
  2. 是/否 - 如何?
  3. 這是實現這一目標的方式嗎?
  4. 如何使用​​方法創建此類路線的鏈接? (一些測試給我http://domain/Controller/action/params../some_name:some_text ...)

回答

1

你可以做這樣的事情,但你需要爲每個控制器建立一個。下面是類控制器,你在你的問題中列出的例子:

http://domain/some_text/categories/view/4/5/6 


Router::connect(
    '/:pagevar/:controller/:action/*', 
    array(
     'controller' => 'categories', 
     'action' => 'view', 
    ), 
    array(
     'pass' => 'pagevar' 
    ) 
); 

然後訪問「SOME_TEXT」變種,你可以參考它通過PARAMS:

$this->params['pagevar'] 

我不是確定這正是你想聽到的,但它可能會給你一些想法從哪裏建立。