坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

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

[复制链接]
坏蛋网络官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!# G4 Q: x' ?" j
- u4 L! c) x! X
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
- p5 ^) f/ s$ u% X, |0 b( J  G2 e  J( v( F" S' z' @* }$ C% l
第1行代码:! |, {4 L) ]3 |; Z4 C$ C1 }! g9 y; e
<!–{subtemplate common/header_common}–>( I% z9 ^2 d) S
代码解释:用于调用common文件下的header_common.html文件,
9 r4 U8 z9 @7 v. \6 B- r备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。; |" _9 s% e: Q+ o9 U

+ U4 W0 B$ V; g- M& o第2-29行代码:
# J4 p2 V2 Y, m, g: L: U# s从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾2 W( ?4 O# `9 X9 `% D
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!# Q$ r* \3 m! u
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写$ V7 Y/ y; p# y! M$ F: V

3 S0 ]7 j3 _' h& J/ z; B第30-186行代码:5 U+ d2 N, A$ H+ |6 o
从<body>处开始到此文件的最下方
9 X& D! |3 @+ U1 P代码解释:这是首部文件的核心$ k/ g) S: `) W+ `; y! y
备注:在修改时请注间要提前备份文件; S) `7 c- E2 @+ H/ q

8 c* I1 a: O- n第32-44行代码:
+ \$ ^8 L9 g' c; [( E从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾( ]/ T8 b, R  ~3 ^% f5 N9 O! f
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,8 d3 ~( h; T* W% J  W( F" v
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
7 j3 D7 o* r+ ~# f, n5 `) P$ _- W2 \, ^. ~; ^2 Z; K# [
第32-44行代码:
% C# L% d' R# x$ U; f; P从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>9 q% [2 G& y8 \; d' l% N: C
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
% s4 u* [. l$ b8 ~! r+ k备注:在后台=》界面=》顶部导航。可以设置
7 X1 Y& N: m: P/ f1 [/ i  t
6 }$ Z# h8 H0 n/ `& m第70-78行代码:0 X8 C1 \( P8 D- c* C1 ~+ E& [

; h( {, D! y5 G# y( F* B: u( A<!–{if !IS_ROBOT}–>
' i0 C& l+ o6 s2 }- v. ]                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
( h! l9 E4 M$ s" M- }. g                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>* g8 [$ ]2 F2 ]- G9 M; v/ x( R* N
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
$ U' \; S% [8 n# z4 J) D" f: w                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>  E/ k  b+ D1 H/ K
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
( _" O* _8 S6 N) E                                        <!–{/loop}–>2 P1 `! [; K  I8 ]9 |
                                </div>
4 F! N6 v$ }5 Q+ c( n! Z9 f                        <!–{/if}–>( S2 |% B5 g1 ?, y, U5 [& J0 _& d% q

' E5 E' H9 S6 L: i. }4 r3 f2 d代码解释:此处是拓展色的切换的菜单4 E, D3 A1 Q* S% E. O9 K9 w
备注:如里不需要可以删除% K- T* T; M& W1 @! u; M! D* F* G
- [: m. z) p% n) N8 C; k
第80-96行代码:& j* y3 \2 N. v( |" u8 J

5 m! O! O1 e# `( t: F# j! Q<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
2 D2 @9 ^8 h( h! v4 X                                        <!–{if $_G[‘uid’]}–>. ~" }. J. E& q7 t+ p
                                        <ul>
: e: p5 Z, Q/ ~5 z                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
& D  p' ^& l: N( `: [# Z# Y( |                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>! B" H5 C- U4 O2 D8 i
                                                                <li>$nav[code]</li>- a4 R" f; C! w( D1 Z% h+ G
                                                        <!–{/if}–>
5 S+ L! U5 Q+ X3 M4 Q" Z! {                                                <!–{/loop}–>/ E0 d1 X" y& `. m3 b
                                        </ul>7 i, U# E3 L7 Q- s3 O4 B& W
                                        <!–{else}–>" r+ E3 F: F2 z6 E. y+ f, B' Z2 R* ]6 y
                                                <div class=”ptm pbw hm”>
+ f0 z; O& c2 x! T! D- F                                                        {lang my_nav_login}
9 T9 M! h, K. R, ]: u                                                </div>& T" M6 [4 f& p; T5 b6 T
                                        <!–{/if}–>7 y- Q* ]& [2 [8 B% I8 m/ ~, a
                                </div>) s& ~' q/ G# W2 `& z
                <!–{/if}–>7 R" m+ }' _* i/ ^  {8 P

; i: r+ M7 w: Q$ j- R# D$ T代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈# i! Z9 X$ B( ^! L* N
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
! D. @2 b$ d6 q$ m6 H7 J- `9 u, H# f
第97行代码:# ]* m3 p  \4 Y. s: c, J

6 j, p  v3 ?# l& g7 K: I<!–{ad/headerbanner/wp a_h}–>
6 k. D, D" L4 b( G3 z0 l2 n+ X/ a: H) L# B+ M
代码解释:头部的广告代码,$ n# M7 n) c( S: T! m0 [$ l
备注:可以在后台=》运营=站内广告添加第98-184行代码:
# s  R- \; H& v# x/ m从<div id=”hd”>到 </div><!–{/if}–>
6 Q( n2 _. k7 q0 ~代码解释:头部的核心文件4 D, u3 P! o2 R6 G0 d/ S
备注:下面是头部核心的DIV指引; k: x2 z# x/ R* a
<div id=”hd”>6 B* V7 h0 q3 S1 X& K, z1 h0 u
<div class=”wp”>
7 G5 _- m) a  g0 V<div class=”hdc cl”>
5 Y8 A; w* V# k, n+ s9 T  f<h2>logo</h2>———————————->logo9 ]7 p- _4 P& \# p6 ^' ?; \: o; s
                 <div id=”um”>& h0 w2 G/ O. W2 z
<div class=”avt y”>头像</div>—————————–头像
) P7 D- k6 s, f) H; q" @                       <p>
& Z1 r, K4 V/ y6 x. q<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
/ w% e! y, \+ O# b( `9 b9 U; k                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2! t+ U% D4 N) A2 y3 A, B
个人信息—————————————->个人信息
9 q, B) C& _2 B) B% ^$ L</p>$ b, r. d6 o5 r" a0 E
<p>6 `# u( N/ B: P* h+ n& N
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点36 u% }* d: v' q/ R2 n, z
个人信息—————————————->个人信息
1 R# I& b. g* l$ c</p>
- q: T" A5 n' J7 z; {! M# ~</div>) T) P7 \% D- i; @, `% n
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>1 B! Q" B' I0 w3 M- b9 ~
<div id=”nv”>3 H6 y: _) P4 B, c; x
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航7 \6 `4 ~3 s6 _. n5 t
                <ul>
; f- {) d+ ?, I6 X; \<li>栏目导航</li>———————————>栏目导航; r  Y5 r) u1 P* W$ O: z
                 </ul>
2 _( a; J- V- i# t, Z</div>4 P% \6 q1 |6 q4 r( B
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>6 Z0 ]3 z9 Q3 A8 T) F# X; H  s1 J
二级导航菜单样式——————————————————>二级导航菜单样式
+ x# Y0 B' }# V</ul>
5 t* \4 v4 d8 v' f! w) [9 O7 E< div id=”mu” class=”cl”>) u( `" O5 Z# E) j% A
二级导航横排>————->二级导航横排样式2 v( U" ?2 Y7 E6 F9 u
              </div>* o4 o! k. f6 c7 k4 H" k$ R- V! k
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
0 }8 n* n/ F! i<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
, t3 ~6 y' ]; p9 q</div><!–{hook/global_header}–>插件嵌入点' Y6 @1 f' O. l( K* g; O0 K
* N  |$ ?; t+ _+ Q% O
总结:大家在修改的时候他的每个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 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

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