DISCUZ后台添加导航栏和左侧菜单栏
2 M1 `" ~9 W, ^- l9 Jdiscuz后台不存在模板文件,所以我们无法通过追源码的方式来添加导航栏,下面介绍下discuz后台添加导航栏的方法:
8 j8 s6 t! C9 t. f( l* K
( s( }4 \0 n' v/ g% [需要用到的文件就两个: " r3 i6 h* P: I3 \6 k$ d: V
" ^- Q. y" Y/ X( k3 u4 D(1)\source\admincp\admincp_menu.php
& M# ^6 m n7 R& G6 z
7 n6 |( h# }, X! D(2)\source\language\lang_admincp_menu.php 3 S+ b3 f, m+ h" }! C; b9 D+ e$ L
9 p5 \5 f- v ~
$ r* ?2 K b9 r2 X. t( a
3 J0 O) C, b, ^2 Radmincp_menu.php中的代码: 8 X6 k9 U5 T9 V; J8 X. m; A
9 J) r# [. s4 i$ r- $topmenu = array ( ( J; C9 Q& T' B6 w7 l$ v& R. w
- 'index' => '', 6 b$ y0 q- a* v: g7 v
- 'global' => '', 5 @8 X I( `, E: D! j& ^! _/ X
- 'style' => '',
, b1 p$ r+ u+ \3 \6 W. q4 }4 r% q - 'topic' => '', + U6 w+ t: H8 n+ s
- 'user' => '',
: A! R9 @* i: B: I1 Z$ Q* l, e( g - 'portal' => '',
0 H0 B5 O L) j9 f2 ]7 t$ @ - 'forum' => '', 8 [6 k" A2 f: Q( p6 z
- 'group' => '',
3 Z) Q5 G) ]. A% s+ E - 'safe' => '', 4 n3 g6 M) h$ q% N% b
- 'extended' => '', / ~8 z6 H0 m0 m, Q/ D, A
- 'plugin' => '', - V7 D% D: _: j6 j, u* }1 o9 Z8 S
- 'tools' => '',
. I3 F6 Q8 D" c$ T9 Y& f5 G; ] - 'match' => '', //因为整个导航栏是从数组中循环出来的,在这里做一个初始化,所以我在这新添加一条作为新添加的导航按钮
. M- W1 M( C3 }3 {8 e9 y - );
复制代码 根据上面添加的导航,给他添加左侧的菜单:
) h Q& Y5 a: [2 @' p0 h- f- $menu['match'] = array( ! o* d& F+ G3 H+ [, ?) m
- array('menu_work_list', 'match_main_list'), //数组中第一个值就是菜单名称,第二个值会在后面详细解释( g/ ]9 o# i& {1 F0 c6 b
- array('menu_work_add', 'match_main_add'),//每一个数组都是一个菜单按钮,可以写很多
( _9 t8 S/ x0 k - );
复制代码 lang_admincp_menu.php中代码:" f4 A: q! M: C6 ~0 T& Y; r; U9 \
在 $lang = array() 数组中添加如下代码:% S9 e0 Z* o0 i. q- S
- 'header_match' => '作品大赛', //给我们添加的导航栏( match )设置中文名称$ S1 o/ u4 L7 A( J5 G; z8 P
- % ^2 Z7 q1 {# u- E* ^. Q
- 'menu_work_list' => '作品列表', //对应上面数组中的第一个值,给菜单设置对应的中文名称
; N; v5 o4 @9 B% v9 f# v - 'menu_work_add' => '添加作品', //对应上面数组中的第一个值,给菜单设置对应的中文名称
复制代码 访问浏览器,会出现如下信息:
/ }: @0 j z; ^0 b9 M5 y$ `- M
$ V ]) D" w# T# K) b& |# }这里需要在 admin.php 文件中 $admincp_actions_normal 数组中添加 ‘match’,就OK了。 ( P3 m0 S- E' I8 H v; I' v t
然后访问
到这里,导航就添加完成了!!! X9 h- r% P6 H+ K" B! i, _
接下来我们再说一下上面数组中的第二个值有什么作用? 菜单栏添加完成后,需要给他一个链接,将其信息显示到右侧 那么当我把鼠标移到"作品列表"上时,浏览器左下角会出现 URL 路径,注意圈起来的部分
这时便发现数组中的第二个值 “match_main_list” ,通过下划线区分开,每个值都对应URL路径中圈起来的值, 对应分别是: action --------对应-------- match operation --------对应-------- main do --------对应-------- list (action、operation、do是DISCUZ默认的) 由此我们可以得出:上面数组中的第二个值是给菜单按钮提供URL路径 另注: 如图所示:
- e' Y% q6 E& H# X$ d/ f
圈起来的$action就是我们的URL地址传过来的action的值,下面的路径便是我们新增的菜单访问的位置,我们要在 /source/admincp/目录下创建一个PHP文件(文件名要按照图中那样的格式来起名),php文件中输出的内容就会显示在右侧()。
9 |6 s& u- W+ a7 u, f- E! ]) R8 Q
|