PHPCMS不显示无权限栏目对应的左侧菜单_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHPCMS不显示无权限栏目对应的左侧菜单_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1773字,纯文字阅读大概需要3分钟。
内容图文
![PHPCMS不显示无权限栏目对应的左侧菜单_PHP教程](/upload/InfoBanner/zyjiaocheng/182/e3084fcee0384d7694ffce7fee3f32ce.jpg)
从后台页面可以很简单地分析出,左侧菜单的生成是用Ajax:
$.ajax( { type:'get', url:'?mod=phpcms&file=menu&action=get_menu_list&menuid='+id, cache:cache_refresh, dataType:'json', success:function(json) { …… } }
请求的地址是 http://www.bkjia.com/admin.php?mod=phpcms&file=menu&action=get_menu_list&menuid=4
在URL参数中,file是指请求的控制器文件,这里menu就是指 admin/menu.inc.php这个文件,action 则是方法。我们找到 menu.inc.php 下的 get_menu_list 方法:
case 'get_menu_list': $data = $m->get_child($menuid); $data = str_charset(CHARSET, 'utf-8', $data); $max = array_slice($data, -1); $data['max'] = $max[0]['menuid']; $data = json_encode($data); if(PHP_OS < 5.0) header('Content-type: text/html; charset=utf-8'); echo $data; break;
将其改为:
case 'get_menu_list': $data = $m->get_child($menuid); foreach($data as $k=>$val) { if( !empty($data[$k]['keyid']) && substr( $data[$k]['keyid'], 0, 5 ) == 'catid' ) { if( $data[$k]['keyid'] == 'catid_0' ) { continue; } $catid = str_replace("catid_", "", $data[$k]['keyid']); // 管理权限 $allow_manage = $priv_role->check('catid', $catid, 'manage'); if(!$allow_manage) { unset($data[$k]); } } } $data = str_charset(CHARSET, 'utf-8', $data); $max = array_slice($data, -1); $data['max'] = $max[0]['menuid']; $data = json_encode($data); if(PHP_OS < 5.0) header('Content-type: text/html; charset=utf-8'); echo $data; break;
代码存在投机性,但大概思路就是这样。
http://www.bkjia.com/PHPjc/752363.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/752363.htmlTechArticlePHPCMS可以给某些角色设定权限,比如某些栏目对于某些角色是无法访问的。但是左侧菜单还是会显示该栏目名称,这对编辑来说是不需要的...
内容总结
以上是互联网集市为您收集整理的PHPCMS不显示无权限栏目对应的左侧菜单_PHP教程全部内容,希望文章能够帮你解决PHPCMS不显示无权限栏目对应的左侧菜单_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。