url兼容模式下,CONTROLLER_NAME获取控制器不正确

浏览:6118 发布日期:2015/01/26 分类:求助交流 关键字: 系统变量,控制器
http://www.9891.cc/index.php?s=/Kehu/User/updateUser.html
以上地址中,使用CONTROLLER_NAME获取控制器,值为Kehu,Kehu为分组的名字,正确的应该是User,为什么会出现这种情况
CONTROLLER_NAME的值是Kehu
MODULE_NAME的值也是Kehu
这是什么原因
url模式是兼容模式,求指点
tp3.2.2

测试了一下,不知道为什么,
如果设置了下面的值
'MODULE_ALLOW_LIST' => array('Admin,Kehu'),
'DEFAULT_MODULE' => 'Admin',
则CONTROLLER_NAME='Kehu'
如果将 'MODULE_ALLOW_LIST' => array('Admin,Kehu'),去掉
使用 'MODULE_DENY_LIST' => array('Common', 'Install'),则可以获取到正确的结果CONTROLLER_NAME='User'    function get_menu_by_url($controller = CONTROLLER_NAME) {//这里获取的CONTROLLER_NAME尽然是分组名称,跟MODULE_NAME的值一样
        $Menu = M('menu');
        $id = $Menu->where("module='admin' AND pid !=0 AND url like '{$controller}/" . ACTION_NAME . "%'")->getField('id');
        if (empty($id)) {
            $id = $Menu->where("module='admin' AND pid =0 AND url like '{$controller}/" . ACTION_NAME . "%'")->getField('id');
        }
        if (empty($id)) {
            $this->error('非法链接', Cookie('__forward__'));
        } else {
            return $this->get_menu($id);
        }
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>