DISCUZ后台添加导航栏和左侧菜单栏
4 F8 j F' m& K# L- Q' l
discuz后台不存在模板文件,所以我们无法通过追源码的方式来添加导航栏,下面介绍下discuz后台添加导航栏的方法:
8 f- s: f1 t0 i0 }/ y- d
) z7 Z' A0 C% v: ]0 M
需要用到的文件就两个:
5 v8 Y* D4 @ Y- ]7 I5 T K' K. L1 I
' i, f& i n" j5 h7 W- E9 c' [- r
(1)\source\admincp\admincp_menu.php
& F) w& C3 |3 T n) p 5 `5 P) q0 T8 l: C' Z9 K. m" x
(2)\source\language\lang_admincp_menu.php
8 r/ ~) C C1 z. b
; @. z" Z, V% j. r4 s; E8 S. ^, e
3 Q* E# X8 m5 i/ S% d - x. n0 q3 I( B' t5 r
admincp_menu.php中的代码:
: t4 O0 b* S5 {/ I ^ , E6 G, i E; Y# a" A
$topmenu = array (
0 ]/ B) J$ i! u0 o; j( Z* e0 A 'index' => '', 6 D5 x( m9 q2 Z* _; A* v6 B
'global' => '',
; V1 p6 `/ c$ N3 h* ?. J; N 'style' => '',
! B; w1 x1 @. F' b* V 'topic' => '',
1 [' k& G0 q' c 'user' => '', 3 \; i3 S6 d" M$ c3 R* I% [
'portal' => '',
C% {% ~+ i" V4 s 'forum' => '', + S% U" M U1 P# k" S- p. ^
'group' => '', 9 J- f; A# f1 P5 j( @! B) x
'safe' => '', ' j2 r" @3 g/ Z
'extended' => '',
+ ^ \$ M2 C* {6 c/ l9 G8 U4 R+ `) q 'plugin' => '', * n) p2 e6 @' e' \3 [
'tools' => '', # y6 m9 {5 l3 i. R* f, O
'match' => '', //因为整个导航栏是从数组中循环出来的,在这里做一个初始化,所以我在这新添加一条作为新添加的导航按钮
! K- P" [; d% V; { ); 复制代码 根据上面添加的导航,给他添加左侧的菜单: 0 X6 t. g) v n* l9 H. ~. h
$menu['match'] = array(
, X0 u4 c9 y1 ^* ]2 r' r- {7 L- k array('menu_work_list', 'match_main_list'), //数组中第一个值就是菜单名称,第二个值会在后面详细解释: }. T" y& z/ A* G2 q
array('menu_work_add', 'match_main_add'),//每一个数组都是一个菜单按钮,可以写很多
" c3 d+ \8 N" z% h- A5 z ); 复制代码 lang_admincp_menu.php中代码:
- P) a; a/ ], i1 u 在 $lang = array() 数组中添加如下代码: 9 B) b& l4 y7 o5 ?6 [& q
'header_match' => '作品大赛', //给我们添加的导航栏( match )设置中文名称- ~/ b I) k. N& j
) x7 X0 a. t w; G) j3 U$ U0 I& O' s. b
'menu_work_list' => '作品列表', //对应上面数组中的第一个值,给菜单设置对应的中文名称! e ]& \! {' P' v
'menu_work_add' => '添加作品', //对应上面数组中的第一个值,给菜单设置对应的中文名称 复制代码 访问浏览器,会出现如下信息: & [3 U# _5 m$ t$ q9 E
# J! Y# [# U2 b, x
这里需要在 admin.php 文件中 $admincp_actions_normal 数组中添加 ‘match’,就OK了。
8 h( X: B1 Q" V7 j/ t% u7 L 然后访问
到这里,导航就添加完成了!!!
* f" t2 P+ e- |
接下来我们再说一下上面数组中的第二个值有什么作用?
菜单栏添加完成后,需要给他一个链接,将其信息显示到右侧
那么当我把鼠标移到"作品列表"上时,浏览器左下角会出现 URL 路径,注意圈起来的部分
这时便发现数组中的第二个值 “match_main_list” ,通过下划线区分开,每个值都对应URL路径中圈起来的值,
对应分别是:
action --------对应-------- match
operation --------对应-------- main
do --------对应-------- list
(action、operation、do是DISCUZ默认的)
由此我们可以得出:上面数组中的第二个值是给菜单按钮提供URL路径
另注:
如图所示:
$ ?) Y8 L L" J+ Y 圈起来的$action就是我们的URL地址传过来的action的值,下面的路径便是我们新增的菜单访问的位置,我们要在 /source/admincp/目录下创建一个PHP文件(文件名要按照图中那样的格式来起名),php文件中输出的内容就会显示在右侧()。
: I- i2 `$ \) l; T* [, q