### [phpcms不能删除栏目怎么办](https://www.prosaas.cn/article/1805) **Published:** 2020-07-21T01:22:02 **Author:** 5201314 **Excerpt:** phpcms不能删除栏目是因为站点管理员没有删除栏目的权限,其解决办法:首先找到并打开“admin.class… > phpcms不能删除栏目是因为站点管理员没有删除栏目的权限,其解决办法:首先找到并打开“admin.class.php”文件;然后添加站点管理员的删除栏目权限;最后修改“category.php”文件即可。 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212120257205.jpg) **phpcms不能删除栏目?PHPCMS站点管理员没有删除栏目的权限** phpcms V9除超级管理员外,其他管理员都没有删除和修改栏目的权限,这可能是系统的一个bug。 分析: PHPCMS v9 在判断权限的时候只判断admin\_role\_priv表中所记录的权限。也就是我们在设置角色的时候所进行的“权限设置”,而不考虑我们所设置的“栏目 权限”。由admin:check\_priv()在可以看出,该方法没有对栏目权限作任何考虑。所以当我们使用非超管登录时,修改栏目或删除栏目就会提示 “您没有权限操作该项”。 位置:phpcms/modules/admin/classes/admin.class.php 推荐:《phpcms教程》 解决办法: 1.找到/phpcms/modules/admin/classes/admin.class.php ,在里面找到 $r =$privdb->get\_one(array('m'=>ROUTE\_M,'c'=>ROUTE\_C,'a'=>$action,'roleid'=>$\_SESSION\['roleid'\],'siteid'=>$siteid)); 大概在177行上,然后在该句下面加上: //添加站点管理员的删除栏目权限 by:醒木 if(ROUTE\_C == 'category'){ $catid = $\_GET\['catid'\] ? $\_GET\['catid'\] : $\_POST\['catid'\]; //获取角色当前权限设置 pc\_base::load\_app\_class('role\_cat', '', 0); $priv = role\_cat::get\_roleid($\_SESSION\['roleid'\], $siteid); if($priv\[$catid\]\[$action\]) $r = true; } ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212120257644.png) 2.在 /phpcms/modules/admin/category.php中找到 foreach ($arrchildid\_arr as $arr\_v) { $this->update\_priv($arr\_v, $\_POST\['priv\_groupid'\], 0); } 改为: foreach ($arrchildid\_arr as $arr\_v) { $this->update\_priv($arr\_v, $\_POST\['priv\_roleid'\]); //添加站点管理员的删除栏目权限 by:醒木 $this->update\_priv($arr\_v, $\_POST\['priv\_groupid'\], 0); } ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212120257776.png) 提示: 记着在添加货修改栏目时候勾选相应的删除货修改权限。 以上就是phpcms不能删除栏目怎么办的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** PHPCMS ---