坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

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

[复制链接]
坏蛋网络官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
" j9 ]1 |( o& b- L* P. f% a
' T6 T# s3 [+ E& k' i+ e( S$ @- x( gheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!$ C3 ?; l) i4 n* B

; i9 o7 p9 o# Y3 o: i; R第1行代码:  E4 ]9 ]/ h/ r9 Y
<!–{subtemplate common/header_common}–>5 {& n* q, X/ d: S1 P0 N  Q
代码解释:用于调用common文件下的header_common.html文件,6 |0 A2 y; N1 S9 S# L3 h) _* [
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
9 E  x: A- `6 N
  \0 P. o& ]$ [第2-29行代码:
) h" b& k$ Z/ g/ L4 Q8 T从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
" d9 a1 d; Q1 u5 k6 o( z7 s" j+ g  e7 F代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!9 x2 Z' ^' b! n" k* s
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写9 M- Q3 Y1 Y+ \# \4 l$ w

7 y4 E0 M$ E: ~0 x第30-186行代码:4 K; B$ [# Z! U7 x6 O0 ~+ M
从<body>处开始到此文件的最下方" F( J4 T  m! z  ~7 T. P, }4 i
代码解释:这是首部文件的核心
0 D" d  _3 V, G# p. T% d备注:在修改时请注间要提前备份文件
! Y! L& C( h; Z0 C
9 w. g& h% X: Z1 `第32-44行代码:
/ y: q! [3 ]1 \- @, l0 A8 p从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾. B# ^: n+ o: j% h" q, k
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,5 i" q9 g# A2 H  f  ^2 k
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
( c+ C7 f) a& C+ w' ~
3 m) m" s4 S0 U; ?3 b  z5 t3 u第32-44行代码:
+ q& U7 K! C. s9 G. Z从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
% k2 h+ [1 W( a2 p/ X' R代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
" H0 E' O" x( F& g, {" _备注:在后台=》界面=》顶部导航。可以设置' `1 q9 @: T+ _  O. }  X
9 g% y/ c7 ]3 J  I+ n, H8 C! c
第70-78行代码:4 r* ^# [! a) f( U( |3 p
& I7 S  K" q" D, l6 F4 R
<!–{if !IS_ROBOT}–>- p4 U9 A3 F4 E: M% h
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>) u3 H- e) X: j  {5 N' }
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>4 Q) N! v9 J6 |+ K/ x! ~# m5 x
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>  l; M$ Y6 J) C% P  G
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
1 v  n% h6 B" ^; F3 ?; x                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
% q4 q( S' v# L$ w, |  d3 ^                                        <!–{/loop}–>
1 R$ ?/ J! ^8 B/ o" W                                </div>; Q" U" @3 l$ }4 z9 y7 l) s" [" |
                        <!–{/if}–>
+ A  v" B& x2 W# T8 I# M' ?( l" G+ d2 p  r5 M
代码解释:此处是拓展色的切换的菜单. |9 W" @) t" T8 Q  K& U3 v8 l
备注:如里不需要可以删除
' A* c! c; q$ |" }. ?
; B4 W  w7 j+ h. m. m4 h8 m/ k$ n第80-96行代码:
, ~$ x/ a0 d/ [' w" |$ u& E" r4 V! T7 C1 M3 f, i& w4 j
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>/ z; N# a4 }$ K) C, y
                                        <!–{if $_G[‘uid’]}–>
- i% k* q/ Q( J( A* L* Y$ X                                        <ul>- m7 M7 B7 J  x6 p' A' Z
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>7 u1 N0 m) b; ~
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>2 W% h$ f( y- E+ `, P  {7 a
                                                                <li>$nav[code]</li>  q9 C9 {8 H+ u
                                                        <!–{/if}–>7 o/ x) D0 k2 A9 j) l
                                                <!–{/loop}–>8 N' C* X4 }8 Y8 }6 N+ ?
                                        </ul>
- l, Z$ p2 i4 M                                        <!–{else}–>' ^# `9 }/ g4 \
                                                <div class=”ptm pbw hm”>
6 O6 H, x& {, S( P% W                                                        {lang my_nav_login}% u& G& ]; S- O
                                                </div>
( L, S8 {2 ]- b% H! C3 {% _$ \7 B& N                                        <!–{/if}–>
$ p% l. ~2 ^/ s3 N                                </div>; \; a3 b& {) N' X, ]4 F
                <!–{/if}–>
+ L# X# [" N  D% g% D6 S, \0 S0 W+ u) K1 p: |8 Z7 l  q; H
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
- c5 h+ l  r% J* i/ s" }备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
; {+ P$ D* ?. ^- w+ Q) c3 F+ a. N' y- s
第97行代码:
7 A. `9 V" o/ S) R2 @6 p" z, B" q# m: t& ^" `
<!–{ad/headerbanner/wp a_h}–>
8 ^# w' g$ h. i9 Q: E/ {$ D4 K1 ^8 \, y/ w, D
代码解释:头部的广告代码,( o  _  J6 ?0 o( L
备注:可以在后台=》运营=站内广告添加第98-184行代码:1 w& l( d3 ]0 }% Q6 u
从<div id=”hd”>到 </div><!–{/if}–>
- s' E, t, D$ Q6 ~8 K6 _代码解释:头部的核心文件
1 n, R3 |8 H" N$ @0 ~6 y2 A备注:下面是头部核心的DIV指引
6 ^1 V% F# T7 i0 ]7 U8 q( t8 E6 S<div id=”hd”>
) W; M+ T% B+ h! e' D6 ?<div class=”wp”>
$ N8 `1 ]0 J2 R' d<div class=”hdc cl”>
; B/ I  t$ j: q% T" z<h2>logo</h2>———————————->logo
" I- l3 X" L+ T4 V3 n3 I                 <div id=”um”>
2 P8 T6 O) i* K  ]<div class=”avt y”>头像</div>—————————–头像
, j: ^& c3 @# E3 f                       <p>; s7 \1 W; }3 o
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点15 M$ {$ ?. h2 r$ i9 r' F; P* F/ Q5 ^
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2  [  M$ _4 n; `  `, F, {( d
个人信息—————————————->个人信息
2 D- c: e" n/ @; v$ x7 d4 i</p>
0 |/ G$ j$ P: I! r9 m; w$ B<p>
5 }) n5 T6 |4 G4 u2 r1 K<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点31 ^' T* a: I; C. R) ^, ?
个人信息—————————————->个人信息
( \3 L7 R  ], f, d* S+ c</p>
5 t  K9 Z; U  X1 `8 A# m/ }: m</div>
0 T" a! F, o# |! F/ f+ R& |# s" H<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>3 q3 ^7 d/ [/ @% @5 Q
<div id=”nv”>
8 a! G1 a2 ^. O$ O: G$ n$ l3 ~<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
( k& s1 T2 a& _* n                <ul>& v4 v) f  A% n7 ]0 t
<li>栏目导航</li>———————————>栏目导航
8 e( x2 \+ t9 B                 </ul>
0 B1 v1 P! u' V$ Z, @* P% y</div>% D4 j9 n& o3 z& ]( _; m& O* S3 w
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>1 H$ j% V1 S0 ^' v3 i1 n
二级导航菜单样式——————————————————>二级导航菜单样式- M+ w* M+ B. I' H2 [/ C5 F
</ul>, k2 [4 ?2 y' P
< div id=”mu” class=”cl”>
/ v2 z/ E1 f' O7 R二级导航横排>————->二级导航横排样式
3 S2 }1 n( U% z" @              </div>
4 e; Y& u2 P9 K# @! o<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)! X- A5 y3 |1 }& A
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
) `% _, D) H1 E7 I/ }& f</div><!–{hook/global_header}–>插件嵌入点) p" r5 v  z9 ^6 D' P  }
* x0 h1 E* y, ?9 p1 Z' P
总结:大家在修改的时候他的每个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 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

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