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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
  Q' E4 V$ i' E/ w0 V
! Z' y+ ?3 m# V+ Hheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
" _- T3 g: t5 ^+ _5 A2 c4 W6 |  g, Z
第1行代码:. ^8 u) Y* a7 s/ x' m
<!–{subtemplate common/header_common}–>7 p0 ^4 g5 G6 r
代码解释:用于调用common文件下的header_common.html文件,9 X7 T1 V0 ^* `9 N) I
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。* K- K3 E$ V, n
4 Q/ F* K  r( O3 ?
第2-29行代码:
; `4 u0 ]# Y. R% K# _* L3 G: v从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾7 w+ V* M. n1 n- w/ E% S# i8 u  O
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
" [7 ]' C; t- Y5 M' i& j3 n备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写/ c3 V8 A1 `% m5 M
, N: q5 }# g" E1 Y
第30-186行代码:% j; B$ b, X  {- P9 i- W
从<body>处开始到此文件的最下方
' x$ M/ Z3 r& J3 ^! a7 {/ e' s5 a代码解释:这是首部文件的核心- f; l+ N( d  J3 k
备注:在修改时请注间要提前备份文件% K7 `3 p5 o2 \: N' i+ ~
3 j* C$ A; {: a/ v; z3 H! c
第32-44行代码:4 t0 S8 i6 G  E2 y
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
6 t, A1 @5 H( K! w% O代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
0 u& E4 K) w; E4 t1 m- A' N8 U* s' u备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
* ?1 G" V  w+ d: f7 @
8 Q+ y0 F% H; J" [& c9 z& }4 w4 Z第32-44行代码:
0 k5 o! ?4 S7 x* o5 g$ W从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
3 K. }# b5 Z3 h+ q$ K/ Q代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
* H: T/ m( N9 R% v# [1 v+ p! t备注:在后台=》界面=》顶部导航。可以设置& ^# k0 U+ C- k. D6 }4 Y
9 w  P& R  Y" W
第70-78行代码:5 G1 h, `5 R+ N8 P  M2 P. A7 j
+ K; ]8 X7 i7 L+ m% o
<!–{if !IS_ROBOT}–>2 n3 G3 J, D& x, U4 I( ?
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>1 L# g0 l: h/ U# t1 j& O5 u$ [
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
$ |9 f9 [0 Y9 X) Y- w- m' }                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
& O1 ]1 H1 ]) o' z7 ]+ H                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>  j; P! S& n0 z3 }" @+ P$ p7 Q, B
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>8 v$ q4 Y' H5 ?% }, Z) D
                                        <!–{/loop}–>
4 l# J! o: j+ j! }                                </div>) @' U9 _0 w* Y& z6 T; _. ]
                        <!–{/if}–>
$ s& t6 q# j7 b2 T% l0 F: s' b' j! k5 o, n7 r9 w! H, v5 y% @
代码解释:此处是拓展色的切换的菜单
3 {# t" w; a- }/ x8 C* l, p1 G/ z  P备注:如里不需要可以删除2 u- J6 Z0 P+ e4 v7 R& R5 H0 y

. N+ o9 G  J; H& G! ^  K) t6 K第80-96行代码:+ C! @* o$ t( G- x3 s  g5 c8 Z

2 ~0 @( m. t2 a# Y+ q<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
. `" q2 o6 F7 T- p7 Z                                        <!–{if $_G[‘uid’]}–>
; ]3 j* S& ~8 Q( s7 x                                        <ul>( A, u6 U- Z( c5 \/ `5 {' u
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>7 [' \; M5 l0 y( o
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
# ^* M6 z6 \7 Y1 o& Z: x* T                                                                <li>$nav[code]</li>- @# h5 U5 e5 \5 e1 @0 l, t4 _
                                                        <!–{/if}–>
; H$ W# x$ \5 }% I6 a# E3 i                                                <!–{/loop}–>8 g$ M% r$ I% S9 E+ j7 k
                                        </ul>9 [' R2 Y& l* P2 z# T0 X1 |( c$ h
                                        <!–{else}–>
' L" @: B3 P' B) S% L3 j                                                <div class=”ptm pbw hm”>
3 B6 [, k  k3 |2 r1 R1 {7 x                                                        {lang my_nav_login}( X1 R# P" [, H6 Y
                                                </div>7 Z! `; ]: Q$ q/ x; I0 p
                                        <!–{/if}–>3 k1 I" S4 v! X) R! g7 N& F
                                </div>
3 B# M& ?. l1 g, X7 w0 A( A$ I0 E                <!–{/if}–>% m5 ^! c" O! f# D, g4 f
9 B7 U4 s% w2 q& \/ X7 c, Q' N
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈) H' v8 b; q* q4 }7 Y
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
# z0 [& U$ o# c+ J
( [$ a: @# H7 W  r- J* O第97行代码:
- W6 O# W9 M. S) E  Q" b, V$ y
" o: W5 f8 o4 B) h<!–{ad/headerbanner/wp a_h}–>
+ a7 _5 p! ?& N; L+ I
0 N7 Z. p) l. E$ V! p2 N代码解释:头部的广告代码,6 N& ]% }2 [& E' N7 a+ W+ P& x7 A
备注:可以在后台=》运营=站内广告添加第98-184行代码:9 O7 c# F1 E" I- F* b( |- X
从<div id=”hd”>到 </div><!–{/if}–>( m. x) L' H0 R& D+ C) d
代码解释:头部的核心文件
& ]* X  z1 k  v1 K5 L" L备注:下面是头部核心的DIV指引
" p( X* m4 J, H1 w<div id=”hd”>6 l% R1 A6 C( k4 |2 ]
<div class=”wp”>  E, E$ ^- T( F# w8 {5 [
<div class=”hdc cl”>9 H* t, q" b* D9 I, o& m$ j
<h2>logo</h2>———————————->logo
, j0 B7 O2 ]* U/ r: V) z9 x                 <div id=”um”>$ ?- O4 _2 b& ~/ W2 C8 l" B
<div class=”avt y”>头像</div>—————————–头像
4 `& g/ B7 z, d- H  p' G9 s9 z/ L9 c                       <p>3 l5 i# L  T) N3 z
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1/ K/ h+ k3 u4 g/ Z) R5 j6 ]2 V. q
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
6 m) U$ ~. z5 I% A8 O个人信息—————————————->个人信息8 Z1 j% A1 j; F/ S7 W3 N
</p>! F6 O: U% a. m7 n& v
<p>. Q) m. u7 O0 ~6 c& E2 c4 \( q& w
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3* Y* N3 a* w& P# V
个人信息—————————————->个人信息
/ t# a* |" ~+ u+ t3 C</p>
5 j/ i& z+ ?9 H0 U: k3 U7 ~/ J</div>
( T* ^3 Z1 I- s1 R5 |( ?<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>. P$ M3 j% Y' U- Z8 \' X8 b
<div id=”nv”>0 c1 N4 _) f: I3 k" k6 I5 {/ S- ]
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航: x% T; m* n/ o+ Z" {  z
                <ul>
0 _6 g7 {9 f  @+ F5 ?% v2 R# }<li>栏目导航</li>———————————>栏目导航
/ [& M, s0 w/ H$ B( R5 z* A                 </ul>$ Z9 J/ n( _# ^; ^5 N. w
</div>
$ E- H& F3 r1 }<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>9 R) ~& q" k/ V. O( Q- j( X
二级导航菜单样式——————————————————>二级导航菜单样式. e0 B. ]* l' }, F, _6 V
</ul>
& g& M3 M- z% V  C' @- s! s6 U( k3 Y< div id=”mu” class=”cl”>
; r/ t# b  j; I# R. @二级导航横排>————->二级导航横排样式
4 l! g+ o6 g7 S5 L! k' v              </div>
/ t" }! v4 A3 o<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)4 h6 i; B- O4 M- j+ \
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
+ v' m% h5 v- P% q8 o8 L1 Y# l3 R</div><!–{hook/global_header}–>插件嵌入点$ q5 k8 k% q. C( [' g; ~/ d8 V
2 x+ ^8 V# H- S# y7 H
总结:大家在修改的时候他的每个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-10-12 05:46 , Processed in 0.143570 second(s), 57 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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