我有一个MVC结构,User
它管理三种类型的用户,用户,客户和租户;这一切都是从User
完成的
我需要的是一个隐藏的参数,它将添加到每条路线,告诉控制器如何完成它的工作。
的示例:
/clients/unverified/5
将转到/users/unverified/client/5
/tenants/unverified/5
将转到/users/unverified/tenant/5
如果你对如何完成它有了更好的了解,我也会很感激。
答案 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.
创建clients
和tenants
个控制器,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){
}