昨天在增加了一個“頻道管理員”,并賦予權限欄目之后,登陸后臺卻只能看到一級和二級目錄,無法看到三級目錄。
導致產生這個缺陷的原因是dede的后臺設置賦予“頻道管理員”欄目時,dede并沒有將子欄目的管理權限順延給父欄目。要解決這個問題其實很簡單:就是在原有的二級循環(huán)上面加個三級循環(huán)或者更多估計三級多數也就到頭了~~
首先,你找到dede/目錄下的sys_admin_user_edit.php文件,然后查找:
//顯示用戶信息
$randcode = mt_rand(10000,99999);
$safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);
$typeOpti***** = '';
。。。。。。
直到include DedeInclude('templets/sys_admin_user_edit.htm');
然后用以下代碼來替換即可;
//顯示用戶信息
$randcode = mt_rand(10000,99999);
$safecode = substr(md5($cfg_cookie_encode.$randcode),0,24);
$typeOpti***** = '';
$row = $dsql->GetOne("Select * From `#@__admin` where id='$id'");
$typeids = explode(',', $row['typeid']);
$dsql->SetQuery("Select id,typename From `#@__arctype` where reid=0 And (ispart=0 Or ispart=1)");
$dsql->Execute('op');
while($nrow = $dsql->GetObject('op'))
{
$typeOpti***** .= "<option value='{$nrow->id}' class='btype'".(in_array($nrow->id, $typeids) ? ' selected' : '').">{$nrow->typename}</option>\r\n";
$dsql->SetQuery("Select id,typename From #@__arctype where reid={$nrow->id} And (ispart=0 Or ispart=1)");
$dsql->Execute('s');
while($nrow = $dsql->GetObject('s'))
{
$typeOpti***** .= "<option value='{$nrow->id}' class='stype'".(in_array($nrow->id, $typeids) ? ' selected' : '').">—{$nrow->typename}</option>\r\n";
$dsql->SetQuery("Select id,typename From #@__arctype where reid={$nrow->id} And (ispart=0 Or ispart=1)");
$dsql->Execute('t');
while($nrow = $dsql->GetObject('t'))
{
$typeOpti***** .= "<option value='{$nrow->id}' class='stype'".(in_array($nrow->id, $typeids) ? ' selected' : '').">─{$nrow->typename}</option>\r\n";
}
}
}
include DedeInclude('templets/sys_admin_user_edit.htm');
再次:在include/typeunit.class.admin.php中找到:
//檢測用戶有權限的頂級欄目
if($cfg_admin_channel=='array')
{
$admin_catalog = join(',', $admin_catalogs);
在下面加上選中的第三級欄目的reid。
- 河北id=8
--邢臺id=9
---清河id=10
$admin_catalog .= ','.'9';
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請
點擊舉報。