DISCUZ后台添加导航栏和左侧菜单栏
0 a, \' I5 l8 E7 ~3 _ discuz后台不存在模板文件,所以我们无法通过追源码的方式来添加导航栏,下面介绍下discuz后台添加导航栏的方法:
) P! s. p' P! H z& \ " E8 W9 a! u7 M0 s' u
需要用到的文件就两个:
7 z2 A, z6 L4 b! E2 N; j8 S6 F
3 Y+ i! d) f! L- l* j: b# i (1)\source\admincp\admincp_menu.php
6 ^ p5 H% f6 y# y# f7 d9 m3 `) `, j
- M: V$ p" X5 b9 ~ u
(2)\source\language\lang_admincp_menu.php
s6 W: T% x' e% w # V# X- \8 d1 x- M# n; j, i$ X* e
9 t/ W& K/ ^! l& V1 b
: m7 f0 q5 g. O* j3 a& l/ ~ admincp_menu.php中的代码:
) R/ q2 s7 L2 h5 `7 k" R
7 f5 }: K- _7 p6 X $topmenu = array ( # n3 n p K4 ^
'index' => '',
% q2 i( F F/ ]# x# P 'global' => '', ( t3 v. ~0 K4 H: L0 k( X* H" {
'style' => '',
+ A% G \+ z! [* j4 \ 'topic' => '', 3 y, s+ [/ U `( }; i9 q( W5 q6 R
'user' => '',
8 q- l; ]' h L1 R' x 'portal' => '',
' Y5 [5 z! g: t% d3 m 'forum' => '',
- U( m1 C O- ~! y7 T9 l 'group' => '', & D4 a- n. r0 R3 c" ^$ x: @. O; I% |
'safe' => '', 2 P) l( }$ `9 {: w- ]4 h5 J& t7 `
'extended' => '', - ^- v, h( }' h; C* d
'plugin' => '', % y- j8 [+ F0 f
'tools' => '', 9 u1 j v# N% P* E
'match' => '', //因为整个导航栏是从数组中循环出来的,在这里做一个初始化,所以我在这新添加一条作为新添加的导航按钮 * B9 e+ t2 x( o# G# q9 H
); 复制代码 根据上面添加的导航,给他添加左侧的菜单: . Z/ A2 `6 J8 f2 h
$menu['match'] = array(
, y' s- [& @# j6 k. e; K array('menu_work_list', 'match_main_list'), //数组中第一个值就是菜单名称,第二个值会在后面详细解释
6 n, t/ ~$ s+ R5 Z8 q- z array('menu_work_add', 'match_main_add'),//每一个数组都是一个菜单按钮,可以写很多: H6 |8 @. [+ A4 {: E2 R
); 复制代码 lang_admincp_menu.php中代码: 0 F; p/ W' c9 P9 f# C" M
在 $lang = array() 数组中添加如下代码: / ]3 U6 Y3 Y7 J' i' c
'header_match' => '作品大赛', //给我们添加的导航栏( match )设置中文名称
2 @$ l$ y/ G9 f0 s/ h. A) Z! }
: D* k% L$ ^ a, [$ K 'menu_work_list' => '作品列表', //对应上面数组中的第一个值,给菜单设置对应的中文名称0 @* G- u9 `7 ^/ R8 ^
'menu_work_add' => '添加作品', //对应上面数组中的第一个值,给菜单设置对应的中文名称 复制代码 访问浏览器,会出现如下信息: : l; G! h* N8 b; S. m
9 ?4 J7 l! G+ K) g8 n+ V
这里需要在 admin.php 文件中 $admincp_actions_normal 数组中添加 ‘match’,就OK了。
; W$ B" x5 x" _- s 然后访问
到这里,导航就添加完成了!!!
9 t) }) K1 R. H; I0 A' e( C 接下来我们再说一下上面数组中的第二个值有什么作用?
菜单栏添加完成后,需要给他一个链接,将其信息显示到右侧
那么当我把鼠标移到"作品列表"上时,浏览器左下角会出现 URL 路径,注意圈起来的部分
这时便发现数组中的第二个值 “match_main_list” ,通过下划线区分开,每个值都对应URL路径中圈起来的值,
对应分别是:
action --------对应-------- match
operation --------对应-------- main
do --------对应-------- list
(action、operation、do是DISCUZ默认的)
由此我们可以得出:上面数组中的第二个值是给菜单按钮提供URL路径
另注:
如图所示:
% c- R" F* \4 l. o9 D4 }2 n [ 圈起来的$action就是我们的URL地址传过来的action的值,下面的路径便是我们新增的菜单访问的位置,我们要在 /source/admincp/目录下创建一个PHP文件(文件名要按照图中那样的格式来起名),php文件中输出的内容就会显示在右侧()。
( q+ z$ M4 T4 n2 B. _* l/ e