phpcms不能刪除欄目怎么辦

phpcms不能刪除欄目是因為站點管理員沒有刪除欄目的權限,其解決辦法:首先找到并打開“admin.class.php”文件;然后添加站點管理員的刪除欄目權限;最后修改“category.php”文件即可。

phpcms不能刪除欄目怎么辦

phpcms不能刪除欄目?PHPCMS站點管理員沒有刪除欄目的權限

phpcms V9除超級管理員外,其他管理員都沒有刪除和修改欄目的權限,這可能是系統的一個bug。

分析:

PHPCMS v9 在判斷權限的時候只判斷admin_role_priv表中所記錄的權限。也就是我們在設置角色的時候所進行的“權限設置”,而不考慮我們所設置的“欄目 權限”。由admin:check_priv()在可以看出,該方法沒有對欄目權限作任何考慮。所以當我們使用非超管登錄時,修改欄目或刪除欄目就會提示 “您沒有權限操作該項”。

立即學習PHP免費學習筆記(深入)”;

位置: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; }

phpcms不能刪除欄目怎么辦

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); }

phpcms不能刪除欄目怎么辦

提示:

記著在添加貨修改欄目時候勾選相應的刪除貨修改權限。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享