硬汉工作室

搜索
热搜: 活动 交友 discuz

[开发技术] discuz导航增加超级版主的权限

[复制链接]
发表于 2023-6-26 17:55:26 | 显示全部楼层 |阅读模式
dz后台导航可以设置显示的权限,但是默认只有会员、不限制、版主、管理员这几个,有位站长希望增加一个超级版主的,于是记录下怎么改的。

打开文件source/admincp/admincp_nav.php,大约在305行附件,找到array(3, cplang('usergroups_system_1')),在下面添加
array(4, '超级版主'),这个是增加了超级版主的选项,然后找到
$levelnew = intval($_GET['levelnew']) && $_GET['levelnew'] > 0 && $_GET['levelnew'] < 4 ? intval($_GET['levelnew']) : 0 ;改成
$levelnew = intval($_GET['levelnew']) && $_GET['levelnew'] > 0 && $_GET['levelnew'] <= 4 ? intval($_GET['levelnew']) : 0 ;
这样4就可以保存进去了,后台就改完了

前台就是改模板,找到模板目录里的common/header.htm的下面代码,这个是主导航代码
<!--{loop $_G['setting']['navs'] $nav}-->
        <!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}--><li {if $mnid == $nav[navid]}class="a" {/if}$nav[nav]></li><!--{/if}-->
<!--{/loop}-->

改成
<!--{loop $_G['setting']['navs'] $nav}-->
{if $nav['level'] == 4}
{if $_G['adminid'] == 2 || $_G['adminid'] == 1}
<li class="nv_li {if $mnid == $nav[navid]}a{/if}" $nav[nav]></li>
{/if}

{else}
<!--{if is_array($nav) && $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->
<li class="nv_li {if $mnid == $nav[navid]}a{/if}" $nav[nav]></li><!--{/if}-->
{/if}
<!--{/loop}-->


level是权限,4是我们新增的超级版主,如果导航的权限是4那么再判断是否是超级版主或管理员,也就是adminid是否等于2或者1,如果是就显示

有关PHP系统、Discuz或网站等各种问题,可以联系QQ1069971363寻求付费支持
Discuz插件商店:http://addon.dismall.com/?@56030.developer
回复

使用道具 举报

QQ|Archiver|手机版|小黑屋|硬汉工作室 ( 冀ICP备13021567号-9 )

GMT+8, 2024-4-30 23:34 , Processed in 0.672566 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表