 | |  |
 | DISCUZ后台添加导航栏和左侧菜单栏 ( v+ u$ }4 o4 E* E
discuz后台不存在模板文件,所以我们无法通过追源码的方式来添加导航栏,下面介绍下discuz后台添加导航栏的方法: ; s. v8 b" K |5 ^+ f
0 n( a! H8 [9 k% L0 ]
需要用到的文件就两个:
* h* V- |& `& o) D5 O7 a( S, ?6 T! N! Q3 i e! T
(1)\source\admincp\admincp_menu.php
6 H9 R8 t) [& }+ ~; U
9 L# v- t: q; Z(2)\source\language\lang_admincp_menu.php : C: v0 T i7 J, Q
+ m1 o' y0 \0 K4 H
9 V n3 o3 u- \( i* i/ \
9 c# e& Y. _9 t$ J4 D& q7 A% fadmincp_menu.php中的代码: + S+ C. H! i5 ]# A9 C) H$ ^
8 K+ }8 e5 g/ E# U9 s1 p
- $topmenu = array ( , y1 Q7 z( e" B" z2 z
- 'index' => '', z/ J, \- S4 ?
- 'global' => '',
: s# P/ a+ U- d* R6 ? - 'style' => '',
1 p% {8 y) P, n3 N' R/ Z6 ^" D - 'topic' => '', 1 m6 ?: Y: Q" L, ^; S
- 'user' => '', . n0 h4 E$ z1 r1 a( } y/ `/ @5 |. m1 O
- 'portal' => '',
4 B, W- X) E8 g - 'forum' => '', $ ]9 h0 V. ?* J# A& T4 L
- 'group' => '',
, ?( U- R" M# K' C - 'safe' => '', g. n1 ]. _/ L% d0 y
- 'extended' => '', ! i; J+ Y0 N; V
- 'plugin' => '',
. {8 O$ t7 Z: C2 j" y - 'tools' => '',
3 S; |" V7 k2 D' t+ y6 G( q - 'match' => '', //因为整个导航栏是从数组中循环出来的,在这里做一个初始化,所以我在这新添加一条作为新添加的导航按钮
7 j- y1 R; J2 N8 |3 [" R: o - );
复制代码 根据上面添加的导航,给他添加左侧的菜单:
7 m5 g' l- e* b: r7 [# q5 ^- I: F! s9 _- $menu['match'] = array( 9 s! y2 F! ]: k+ ^! O
- array('menu_work_list', 'match_main_list'), //数组中第一个值就是菜单名称,第二个值会在后面详细解释
, ?! J; B3 C6 e/ Q k3 H8 h - array('menu_work_add', 'match_main_add'),//每一个数组都是一个菜单按钮,可以写很多$ D) |5 I, H# i6 T( Z
- );
复制代码 lang_admincp_menu.php中代码:! t; k. o9 b5 I
在 $lang = array() 数组中添加如下代码:
# Q! P1 g* C) ~* _/ n. D, x. H- 'header_match' => '作品大赛', //给我们添加的导航栏( match )设置中文名称
8 e( p, K1 s+ i) X& j -
* e; V" ?5 }' `3 y5 | - 'menu_work_list' => '作品列表', //对应上面数组中的第一个值,给菜单设置对应的中文名称( C& y. q& _, j
- 'menu_work_add' => '添加作品', //对应上面数组中的第一个值,给菜单设置对应的中文名称
复制代码 访问浏览器,会出现如下信息:; G& E' f/ z/ P% P* G
8 ?" _" K) D( Z5 N- J, m# ]+ A
这里需要在 admin.php 文件中 $admincp_actions_normal 数组中添加 ‘match’,就OK了。 3 E7 \) G5 [5 O# W$ r+ _
然后访问
到这里,导航就添加完成了!!!
5 _+ V1 H1 Z9 \( y- m0 J" q# i接下来我们再说一下上面数组中的第二个值有什么作用? 菜单栏添加完成后,需要给他一个链接,将其信息显示到右侧 那么当我把鼠标移到"作品列表"上时,浏览器左下角会出现 URL 路径,注意圈起来的部分
这时便发现数组中的第二个值 “match_main_list” ,通过下划线区分开,每个值都对应URL路径中圈起来的值, 对应分别是: action --------对应-------- match operation --------对应-------- main do --------对应-------- list (action、operation、do是DISCUZ默认的) 由此我们可以得出:上面数组中的第二个值是给菜单按钮提供URL路径 另注: 如图所示:
+ C4 N9 A5 U# H+ X+ g
圈起来的$action就是我们的URL地址传过来的action的值,下面的路径便是我们新增的菜单访问的位置,我们要在 /source/admincp/目录下创建一个PHP文件(文件名要按照图中那样的格式来起名),php文件中输出的内容就会显示在右侧()。
) V& T+ f, @6 z( p; f
| |
 | |  |