DISCUZ后台添加导航栏和左侧菜单栏 0 {$ f$ V8 k- m. l
discuz后台不存在模板文件,所以我们无法通过追源码的方式来添加导航栏,下面介绍下discuz后台添加导航栏的方法:
: o( m# v1 x* i! H# c( \. `6 B* O! r
需要用到的文件就两个:
0 u' p5 M/ b6 s/ ?% E5 V' h0 v7 O- L* k% \
(1)\source\admincp\admincp_menu.php & W! w2 V4 A! `- a. M2 u
+ x9 j9 v% m( A
(2)\source\language\lang_admincp_menu.php " | g9 b) W6 @
' s: B1 e4 m) d* h9 C* w( I t
2 j& o) N# g9 D/ r- `
' k, o9 _5 u; yadmincp_menu.php中的代码:
2 n. r9 [. @- b1 s! i0 h2 |; u( @9 i/ W
- $topmenu = array ( ' Q; f B' ^$ _7 O+ P. K
- 'index' => '',
- e+ }' c2 v: a( G/ X5 p) P0 y - 'global' => '',
% n7 R, y3 a! @! |7 m! M; v$ V - 'style' => '',
' {4 u2 z# F' L! b- k' ^9 h3 L - 'topic' => '', # w- h3 x6 L h- Y
- 'user' => '', B9 s$ D) N$ C H
- 'portal' => '', & O- c$ o0 N/ o6 X& o" {
- 'forum' => '',
2 @8 @9 Y9 n3 R7 z9 S - 'group' => '', ! @5 ^5 ~3 N! W9 g' n \
- 'safe' => '', & x3 ?* K! ]) t- f9 W8 `
- 'extended' => '',
; P$ y4 g( \- \8 t - 'plugin' => '', 2 [# B! T! E: r% p+ w$ i
- 'tools' => '', * p d3 C& W" E, i; c; M( r. }& u W
- 'match' => '', //因为整个导航栏是从数组中循环出来的,在这里做一个初始化,所以我在这新添加一条作为新添加的导航按钮 - O- D7 H) ?9 E5 n
- );
复制代码 根据上面添加的导航,给他添加左侧的菜单:4 v) }5 i# g* t" y$ q9 k$ N
- $menu['match'] = array(
& Y. k! t4 `. z7 i5 T - array('menu_work_list', 'match_main_list'), //数组中第一个值就是菜单名称,第二个值会在后面详细解释
8 m, Z, Z. ]3 H: m# c1 u; w' u9 z) F - array('menu_work_add', 'match_main_add'),//每一个数组都是一个菜单按钮,可以写很多
# M8 h$ I' G( \. n. o4 S+ L - );
复制代码 lang_admincp_menu.php中代码:% ~ O1 p+ S( _+ @8 L8 @1 s
在 $lang = array() 数组中添加如下代码:
2 a3 e! q% t: X+ i- 'header_match' => '作品大赛', //给我们添加的导航栏( match )设置中文名称4 ^/ d* J) l6 [+ m7 h: X
-
6 P3 t9 a: x. X" e" [3 L) D - 'menu_work_list' => '作品列表', //对应上面数组中的第一个值,给菜单设置对应的中文名称
. ]! K* L% O* X; C3 [2 ~% x3 H: E - 'menu_work_add' => '添加作品', //对应上面数组中的第一个值,给菜单设置对应的中文名称
复制代码 访问浏览器,会出现如下信息:
+ h, O# h$ g( k" t
& b. V4 D% k) @4 Q" z
这里需要在 admin.php 文件中 $admincp_actions_normal 数组中添加 ‘match’,就OK了。
8 |. h: v, q, m; s! Y- E然后访问
到这里,导航就添加完成了!!!
' Y& L9 y/ v& y: o. x接下来我们再说一下上面数组中的第二个值有什么作用? 菜单栏添加完成后,需要给他一个链接,将其信息显示到右侧 那么当我把鼠标移到"作品列表"上时,浏览器左下角会出现 URL 路径,注意圈起来的部分
这时便发现数组中的第二个值 “match_main_list” ,通过下划线区分开,每个值都对应URL路径中圈起来的值, 对应分别是: action --------对应-------- match operation --------对应-------- main do --------对应-------- list (action、operation、do是DISCUZ默认的) 由此我们可以得出:上面数组中的第二个值是给菜单按钮提供URL路径 另注: 如图所示:
: u* }7 i- N0 ^圈起来的$action就是我们的URL地址传过来的action的值,下面的路径便是我们新增的菜单访问的位置,我们要在 /source/admincp/目录下创建一个PHP文件(文件名要按照图中那样的格式来起名),php文件中输出的内容就会显示在右侧()。 8 }. U) D( w5 T: G; d
|