罗码网络discuz插件模板教程微信小程序安卓电脑软件htmlphp源码下载

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!3 a. e2 E0 V; {) ~
" m; d. ]- A  _( v+ i
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!9 |2 H( b" Q7 x7 |' C
; M9 |0 X& i- m
第1行代码:) _6 H; f8 f; T7 j; c) [
<!–{subtemplate common/header_common}–>
* V$ q; b7 H. B9 s1 _代码解释:用于调用common文件下的header_common.html文件,
  s& n. }( g9 m备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
; v+ a' e* i  M/ ]2 a2 [7 n
* t* @5 I# J# p/ v第2-29行代码:7 t! V. M' m2 {# E& o
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
' j. g) S2 b, C1 i4 E$ K' }代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!; S8 Y) v/ V) y8 _; n
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写% A9 w* `- }0 v4 M7 m

3 T. n$ s! Y" B. {6 q/ y; l4 _第30-186行代码:6 R* Y  q3 u; \2 M/ \7 s
从<body>处开始到此文件的最下方
3 L) X+ v% }. M, D) S代码解释:这是首部文件的核心
: E, G; `' r2 W. r$ Z3 o5 ~) \备注:在修改时请注间要提前备份文件
6 R: f7 w: K% k% J$ O& v8 x" [% }' |# H3 G  z; ^! Q- V8 A3 p
第32-44行代码:9 J; z4 V& h8 i/ N. D
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
8 a6 q: i9 r0 `! g' g' |9 o' n代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,) ~0 i; Q' i6 y  Q! {& T
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
9 I& Q& P. J% p3 s8 @7 N1 N
5 F$ S; z7 V* i2 E( j第32-44行代码:
+ S3 ?9 V+ a. l: ^# b3 ?  ]从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>2 |! P: I) S; b( `1 {
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
! _; @! t! ~! e备注:在后台=》界面=》顶部导航。可以设置% E2 x2 Z& D! X# H& y3 C

" V" u8 H& P$ x0 E- J& F8 s第70-78行代码:
2 ^: B  k" b5 I( l$ r
5 [$ V! ^2 q* f<!–{if !IS_ROBOT}–>. A  B( m/ d1 _3 S. ?6 ^* V
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>2 j2 O4 w. S5 Z9 n0 H  {* [3 c
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
0 V, }; P2 \2 s) w- o. L- ?; V                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>6 d1 X  I% r# Q) B  W
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>* V$ l. ]: D) o0 {% |$ p6 K) p8 y% P
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>) I2 ~. R6 {% T5 J6 D% R
                                        <!–{/loop}–>
; V5 K  c% {3 Y7 e) D! ~3 a1 Y                                </div>; I) V, U; w- `, k1 s
                        <!–{/if}–>
1 Y. E  G5 B/ \' ~
; p. Q* L3 s: K# T: G代码解释:此处是拓展色的切换的菜单) @& F9 ?% S4 b7 ^' l
备注:如里不需要可以删除7 c; D3 q7 w. k0 @
. k' |2 O0 N0 x
第80-96行代码:! B, @- k  W; H: G

: G$ b- K* o8 f6 b; ]6 ^<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>. [  v' @& ^% w4 r( U! }( t
                                        <!–{if $_G[‘uid’]}–>
# ?( q) J1 P& }6 T3 b                                        <ul>, Z3 ]9 R. s. a: u; ?
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
. }. o+ E+ f5 F! x  W                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
! [9 j4 K  o8 F; B7 n                                                                <li>$nav[code]</li>! e( s( k8 u3 @- y. o' U+ m( B
                                                        <!–{/if}–>
( x; w8 l$ {0 D; N% ?                                                <!–{/loop}–>6 X$ W8 r" u. {7 S" S4 i! ^
                                        </ul>
5 h' F6 @  A" e. J7 a: L- d                                        <!–{else}–>4 B8 F  {* u) C3 z
                                                <div class=”ptm pbw hm”>6 L: D1 C5 i6 ~' q
                                                        {lang my_nav_login}
7 C/ _: A' @- ^( N, T6 L                                                </div>
1 C. q$ v9 s, L1 v, I6 \$ ?. L; |                                        <!–{/if}–># Z( ^; V: Z+ `
                                </div>
$ H3 ^+ s/ Q7 o2 n2 h                <!–{/if}–>
6 }& u) N+ R) }5 }# E, D; M# o# L- T9 z4 }! ^5 {. ^# {- r
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈; t" o0 N5 M$ S
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!8 t- \) O6 [, v% o

; i# r9 ^" e% f8 q" T$ y  F0 q第97行代码:
3 [' E' i8 f# T6 n
4 T4 Q; l1 G8 m3 b) h<!–{ad/headerbanner/wp a_h}–>/ |: ~' P- D0 S
; C/ \. B/ ^4 x8 P) c  M1 V
代码解释:头部的广告代码,
$ T3 V. q$ R9 K8 T5 l备注:可以在后台=》运营=站内广告添加第98-184行代码:
) u/ R# k5 d# S$ c6 M从<div id=”hd”>到 </div><!–{/if}–>
. S+ t/ j& n" l" q& C代码解释:头部的核心文件% Q  y" M) W+ z$ P# H$ c% Z
备注:下面是头部核心的DIV指引$ g, ?9 E) g, S
<div id=”hd”>( l) m& V5 E2 ]9 w3 L4 Z+ J
<div class=”wp”>
. m7 v0 V! I0 C% U" n, |5 A<div class=”hdc cl”>
( L% B' f  \! S1 k3 h% m( ]% X<h2>logo</h2>———————————->logo" d+ S; a9 u* k" g- S, A
                 <div id=”um”>" Y* S9 T1 x3 ]+ ]% r
<div class=”avt y”>头像</div>—————————–头像
0 M6 x6 a& x- o+ R! k* a5 Y) D                       <p>, X: ^: m! i* Y# [3 n2 L
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
3 c' I5 S3 v( _* w                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2) ?; O# V, W5 u4 O* ~
个人信息—————————————->个人信息
  P/ b8 I. R* A4 t</p>1 K  J6 V0 t" a/ D4 T
<p>
9 e' R, A( ]: p! m* k$ t<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点35 m( `, G6 l; `9 j/ _
个人信息—————————————->个人信息
9 e& P  Y) A0 _# h  r</p>
7 n2 \3 `: h. T7 i</div>% O) m. ~7 H) Y6 P' v, Q, ]
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
& f! t) v% F6 [* m- Y3 _" S3 S% \1 Z<div id=”nv”>
8 i/ ?. \4 F6 O! J+ b<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航2 y7 w% e7 S' h5 L& F
                <ul>& y2 S9 z# M0 K
<li>栏目导航</li>———————————>栏目导航1 w+ J. n4 ?$ y: d* r' Y
                 </ul>9 X: w) n  W; @2 G
</div>
6 H6 ~3 B  c3 K. j0 F<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
. e( m  ^' a9 y! X& n% ^二级导航菜单样式——————————————————>二级导航菜单样式. s$ [; F0 |6 q5 i% [+ ~, ^
</ul>
/ `& s2 \. e$ H  ^6 w: L+ h  b< div id=”mu” class=”cl”>* W+ w* }1 ~, [, a6 o, g7 D
二级导航横排>————->二级导航横排样式! x. H( s0 w! r! _
              </div>
0 _; C) A: B# o) U+ q! d<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
0 }4 n, ]* Y, }. I<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>: ~2 K" [: H$ _: Q
</div><!–{hook/global_header}–>插件嵌入点
+ N5 r. n4 w/ T1 ]2 ~; Z4 k& b. z* Z8 [& W) }- h* |7 T
总结:大家在修改的时候他的每个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 | 显示全部楼层
我是个凑数的。。。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录 手机动态码快速登录

本版积分规则

QQ|Archiver|手机版|小黑屋|罗码 ( 粤ICP备17073043号 )https://beian.miit.gov.cn/#/home

GMT+8, 2026-1-24 16:04 , Processed in 0.137244 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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