添加参数到cakephp 1.3 route

时间:2014-01-21 16:40:37

标签: routing cakephp-1.3

我有一个MVC结构,User 它管理三种类型的用户,用户,客户和租户;这一切都是从User完成的 我需要的是一个隐藏的参数,它将添加到每条路线,告诉控制器如何完成它的工作。

的示例:

/clients/unverified/5将转到/users/unverified/client/5 /tenants/unverified/5将转到/users/unverified/tenant/5

如果你对如何完成它有了更好的了解,我也会很感激。

2 个答案:

答案 0 :(得分:1)

一些选项突然出现在我身上:

1.Router::connect()中使用/app/config/routes.php

此方法应该导致传入ID而无需指定它(以及任何其他参数)。

Router::connect('/clients/unverified/*', array('controller' => 'users', 'action' => 'unverified', 'client'));
Router::connect('/tenants/unverified/*', array('controller' => 'users', 'action' => 'unverified', 'tenants'));

More info on routing in Cake 1.3.

2.创建clientstenants个控制器,unverified个操作,只需将它们重定向到users控制器

答案 1 :(得分:1)

您可以使用相同的控制器操作,如下所示:

Router::connect('/clients/unverified/:limit',
                array('controller' => 'users', 'action' => 'unverified',
                'client','5')
);
Router::connect('/tenants/unverified/:limit',
                array('controller' => 'users', 'action' => 'unverified',
               'tenants','5')
);
Router::connect('/whatever/unverified/:limit',
                array('controller' => 'users', 'action' => 'unverified',
               'whatever','5')
);

在用户控制器中

 # $type would be clients/ tenants/ watever
 # $limit would be 5 
function unverified($type='user',$limit=5){

}