Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp 如何为插件调整我的路线_Cakephp - Fatal编程技术网

Cakephp 如何为插件调整我的路线

Cakephp 如何为插件调整我的路线,cakephp,Cakephp,我正在寻找解决方案 我有一个插件 /app/plugin/acl_manager 我在引导中激活我的插件 CakePlugin::load('AclManager', array('bootstrap' => true)); 当我将我的URL更改为 /cakephp/admin/acl_manager/acl/permissions 我可以访问我的插件 但我想有,而不是上面的网址,以保持相同的命名 /cakephp/admin/permissions 我在route.php中添加了一个

我正在寻找解决方案

我有一个插件

/app/plugin/acl_manager
我在引导中激活我的插件

CakePlugin::load('AclManager', array('bootstrap' => true));
当我将我的URL更改为

/cakephp/admin/acl_manager/acl/permissions

我可以访问我的插件 但我想有,而不是上面的网址,以保持相同的命名

/cakephp/admin/permissions

我在route.php中添加了一个新行,但它不起作用

Router::connect('/:action', array('plugin'=>'AclManager','controller'=>'acl','action'=>'permissions','acl'));
有人能帮我吗? 有关更多信息,请参见此处的插件 我想

Router::connect('/:action',array('plugin'=>'AclManager','controller'=>'acl','action'=>'permissions','acl')

在这里是错误的,因为将来如果您有更多的路由,那么它会将每个操作映射到您上面指定的
插件
控制器
&
操作

因此,您最好设置如下所示的路由

Router::connect('/admin/permissions', array(
    'admin' => true, 'plugin'=>'AclManager',
    'controller'=>'acl','action'=>'permissions','acl'
));
更新

Router::connect('/admin/:action', array(
    'admin' => true, 'plugin'=>'AclManager',
    'controller'=>'acl'
));

但请确保此路线不会受到您定义的其他路线的影响。

您好,谢谢您的回答,它的效果非常好!!!当我输入像/cakephp/admin/permissions这样的URL时,et将进入所需页面。好极了。但是现在所有其他链接都有一个前缀,比如:and/AclManager/不应该是。应该是:哦|