2011-05-16 88 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'] 

我不是确定这正是你想听到的,但它可能会给你一些想法从哪里建立。