坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

[DZ教程] Discuz!模板代码解析–header(头部文件)

[复制链接]
坏蛋网络官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!6 K; e0 |2 e5 H9 a3 V. }2 \9 g

  p: }# E- r3 qheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!) X6 c, r+ N! \7 I- ^
5 H; Z0 u% i( e3 ^
第1行代码:! |  {5 U8 B; c# H1 A1 t2 f( U! N' e
<!–{subtemplate common/header_common}–>
' w9 u) H" C9 a# V; w% U代码解释:用于调用common文件下的header_common.html文件,
# D, J. t: q) Z. j8 g; L备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
% V) i( N3 k! @( ^: A& E0 m7 D" J& Z' r7 I! n+ Y
第2-29行代码:5 p! g4 ^( Z( G, r! M
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾" h4 ]2 g! l5 c
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
# K: {7 ~, b2 i( ], A( I& {# p- r备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写$ w) \, G5 E. K+ y- u( e

. ^8 I$ w2 G0 ]: N& k5 h: X第30-186行代码:( _# H4 x9 o! u! K+ Q/ `
从<body>处开始到此文件的最下方. e& d. c' _) R% P! I. C& k
代码解释:这是首部文件的核心
& R3 C* }1 y: v$ }  @备注:在修改时请注间要提前备份文件0 o' w1 \, R8 S+ B( m
, e' j( g. |. g' H' M7 u7 [
第32-44行代码:
8 I+ C$ }6 e) D3 ^1 G! v从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾4 x1 r( Q+ N$ @, u: S
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,4 l. ]5 K4 h; y- E; S
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
  B5 {5 r# H: C, o/ W; L. H; g) f4 [$ n  F5 W# A+ @
第32-44行代码:3 s" b2 L  v3 m; }; @' l: z
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>; c6 e' H# b: L) a7 ^/ _; j
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>9 y% W3 i- z% n! G- ?/ l' z
备注:在后台=》界面=》顶部导航。可以设置5 o: w: [0 d; f- _6 S; D

. z& c/ X# }# |9 E# i: N+ Q第70-78行代码:
: O7 |+ }+ m( D$ c+ q  H$ X% a) d* |0 p5 t0 P% C. o' t
<!–{if !IS_ROBOT}–>
6 I, _' j1 z2 \: W) N1 @3 s; R% Z& }                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
$ h" {# c; w* q( ]                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>( g: `& {  Z5 l' ]
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>- X4 V! Y6 o  u  Z$ z% ]
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
* \' z1 Q) v* c6 {) ~. y                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
* i) W9 |) l) ~) X6 Y                                        <!–{/loop}–>
+ M9 X! c2 F, x& r0 B4 E7 Q2 c                                </div>
3 \" C6 Q1 t1 E: ?+ S( Y% a/ ^                        <!–{/if}–>
& R  D( j+ p. c& N7 \3 k. _4 J
- r. P! h2 E6 N$ P4 _, N+ F代码解释:此处是拓展色的切换的菜单
# d0 a- W& |, ?- r- W备注:如里不需要可以删除
6 p; y0 `$ O7 Y0 m) ?: V0 D" v; l8 Z* T6 r7 ~* g
第80-96行代码:/ x  h8 ?0 U8 s+ e) ~% t- X
2 b( F: Q& R0 O: [
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
7 ?, D9 R* r1 _# O                                        <!–{if $_G[‘uid’]}–>, f6 }, @6 g: h% p) J
                                        <ul>
1 Q3 J6 c' p, _% R5 C. b& ]  f                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
0 M' Y( k  t8 c2 R& `$ B( ^" ^                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
/ s. K( C# D; q9 X8 |2 U                                                                <li>$nav[code]</li>
5 V  v  H. S0 @8 L4 O                                                        <!–{/if}–>
. t- o# y; Y) N: v( t9 |- L                                                <!–{/loop}–>4 I. Z, N9 S7 Q2 ^$ R
                                        </ul>
) A! A2 _5 Q1 B& D# b1 H0 |                                        <!–{else}–>$ w! l, f, L' S  p
                                                <div class=”ptm pbw hm”>, {. l) D) N  Y- H& ~& n4 A& v; }
                                                        {lang my_nav_login}
  _3 P% F. _8 F3 z( `: ^9 s                                                </div>; C& O0 G' B. Q$ q# r2 E
                                        <!–{/if}–>; Z1 L9 i4 ?9 u0 C( b: s0 I
                                </div>
" `3 }0 Y! w! Z. d6 D" b8 G                <!–{/if}–>
: m( c& B3 U7 b& o3 M! Q' p4 P+ Y: ]2 i. f  o6 f  c  U
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈* Q2 w5 ^# Q1 z; e8 V4 d; ~
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
6 S& P8 w* T5 X& T- n
  H% M) Z5 x# X8 p; a第97行代码:6 E7 R. H6 m7 `, N& H+ S0 h

0 }* B9 u: m: p5 j# b0 N- I<!–{ad/headerbanner/wp a_h}–>
* ~7 O2 Y2 c, }4 d
9 J) J# ]3 ]# Z代码解释:头部的广告代码,
. |: ~8 ~: H$ n# k- z8 {" ~/ \备注:可以在后台=》运营=站内广告添加第98-184行代码:0 R% }, [5 u2 ]- ?. {5 I
从<div id=”hd”>到 </div><!–{/if}–>( {+ w. ^% t: G
代码解释:头部的核心文件
5 c, ^+ [! z& _9 Y备注:下面是头部核心的DIV指引
) i3 B7 o  {* k0 h) k  t<div id=”hd”>
( M( ~. m  X/ X/ h# i5 b! C<div class=”wp”>
- d3 Z/ L# c# X6 e: x<div class=”hdc cl”>
1 O* N  l+ \" B: `( C3 i<h2>logo</h2>———————————->logo* h/ Y, i# u0 W  N
                 <div id=”um”>8 A# x: {! K) F: y
<div class=”avt y”>头像</div>—————————–头像
( Q" [! B8 T) x( x                       <p>
2 H6 o' w+ Z" B! x<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
0 b( U2 u7 B6 A. J0 C( f                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2' b8 ?; ~5 J: Y7 g$ F
个人信息—————————————->个人信息
$ K- p, L1 X0 J/ N3 S  L</p>  v7 Y; x/ W* {+ n
<p>
% y' R/ Y' X1 Z5 b<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
5 y# A& g9 ?9 L1 M- r) ]7 k个人信息—————————————->个人信息2 r3 u9 R; r' D5 }5 }
</p># ~2 S% p0 P* d& F3 e% `8 I
</div>( M  j* H# r4 b* B; U3 i
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
2 R$ e/ W- g# P% o+ g/ ~<div id=”nv”>, s8 }1 d* a$ [2 e: n% Y* D7 u  o- V
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
; }  E$ b# s% p9 Z) F                <ul>
" ~8 m6 H0 A. V) l! G5 J. }# {) _<li>栏目导航</li>———————————>栏目导航2 i! J. ~5 Q& f/ W5 I9 I
                 </ul>$ m% E+ l" }" H6 X; u4 u( E
</div>9 p0 l) c- H% Z( s* r
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>  ^' i/ y, m' Y! M- b
二级导航菜单样式——————————————————>二级导航菜单样式
8 P2 m7 x4 D) Q. p$ i$ a</ul>* t+ |' u0 ~6 l% u6 O7 ]. h: z3 w* m
< div id=”mu” class=”cl”>  H4 b, l1 p- _5 w8 s5 e
二级导航横排>————->二级导航横排样式9 S" f" Z7 |1 \7 O; v2 H
              </div>
. t" ^. A! M; T. M2 ]  @% d3 D3 j0 W<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
* X( r" L* R$ F+ `6 t" w<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>5 a4 u% J+ V! S' M1 s5 q* l
</div><!–{hook/global_header}–>插件嵌入点
* i/ C3 _1 J9 V+ }2 H% y4 z) c. Q  u1 w7 X4 @" {
总结:大家在修改的时候他的每个DIV和ul、li、和会有if语句,大家在看明白以上图后,在添加的时候要注意一下IF语句的作用,我就没有把代码复制到上面一一解析,希望大家去妍究下!利用这些资源,自己可以做出很漂亮的头部,举一反三!
想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
起什么名字呢? 发表于 2020-1-20 13:44:18 | 显示全部楼层
沙发!沙发!
回复

使用道具 举报

MR.Z 发表于 2020-1-21 08:00:48 | 显示全部楼层
有道理。。。
回复

使用道具 举报

hgfhgf 发表于 2020-1-21 17:55:29 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

1287252690 发表于 2020-1-22 10:59:32 | 显示全部楼层
支持一下
回复

使用道具 举报

雨后晴天 发表于 2020-1-22 21:38:49 | 显示全部楼层
学习了,不错,讲的太有道理了
回复

使用道具 举报

岁月神偷 发表于 2020-1-23 11:01:26 | 显示全部楼层
过来看看的
回复

使用道具 举报

瑾瑾 发表于 2020-1-26 03:05:05 | 显示全部楼层
路过,支持一下啦
回复

使用道具 举报

 shu1332725 发表于 2020-1-26 04:06:46 | 显示全部楼层
过来看看的
回复

使用道具 举报

张红霞 发表于 2020-1-26 11:12:24 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

快速回复 返回顶部 返回列表