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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
, T% K/ o6 e4 U7 u3 i$ u' f$ {' j
9 o2 |5 _9 z" D7 |( sheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!( a9 U2 B- f6 J" U: {0 F

1 K. s/ {+ n0 k8 I第1行代码:
: K. S5 \2 E9 c9 P& `  H0 r7 t: |<!–{subtemplate common/header_common}–>* X8 |6 ~' P7 ~) i1 K( d$ C2 H
代码解释:用于调用common文件下的header_common.html文件,; E0 F" {1 i0 k+ w) L- ^
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
' W( n% q* a; P; f5 s
/ n, i  W3 h  g1 U& t% U8 G0 z第2-29行代码:
: ]% ]5 B8 H7 t! N6 j% [/ I/ X2 V从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾/ X: I3 J( t% A0 g6 d" O
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
, D' u& {9 [  a- k备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写4 r! J" w4 d- \/ F' Q. l4 J! i

5 A( Q" w+ _; }) [/ c7 J+ v第30-186行代码:  m: }3 O: x4 e4 V2 |7 R. w. t* M
从<body>处开始到此文件的最下方
+ c' S5 V" ~( q7 a代码解释:这是首部文件的核心
4 a4 K! O# t5 k) I( E# `备注:在修改时请注间要提前备份文件& K0 @. }, ~4 Q& d

( X1 r5 w* P& x, l3 v第32-44行代码:# D  T! s+ l2 y, @
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
; Y1 i& s3 P2 s/ n代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,7 f# i6 ~  m0 q; }+ F9 ]
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!1 [; C- ~6 N' M

2 A0 f/ o) n7 M第32-44行代码:; z$ Z* |$ ~  X+ M% L0 I% f# Y
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
- o7 Z$ r* n3 F1 Y代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
6 R" g% \+ N6 j% Q# R8 x. O' Q$ P' X备注:在后台=》界面=》顶部导航。可以设置
" S3 ?4 W. B$ H- b
! @- Y8 y8 z" g8 ]4 i0 d第70-78行代码:3 ^& Z; H' P! r5 z: y& {# z

# s5 g# Q4 e2 g3 L<!–{if !IS_ROBOT}–>
$ s( }  v2 Q& h6 K; t% r                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
& ~  q5 a- V, j) b% n0 O. }7 o                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
8 P5 L+ a) N6 m0 R9 S5 ?, D                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
" A2 t: T* M! F! L                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
9 c) R& T- t1 w& G# t) T3 D                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>; l! A1 L6 e& m
                                        <!–{/loop}–>! Y. h- w4 W/ W
                                </div>  H) @8 e8 l' A; u! q; i+ g
                        <!–{/if}–>- E5 _9 W" o1 q" s- [2 M' h
# L# c4 n' \( k& P6 L4 ]
代码解释:此处是拓展色的切换的菜单2 K9 {: d1 {4 R' |$ [
备注:如里不需要可以删除1 F7 w/ I& w; x- S. j

! |& e# M- @5 j8 M$ B( d第80-96行代码:
" V7 v0 Y4 b9 g) i5 w' u/ @- h8 D7 t* A: k* `& Z
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>0 f  a6 B# ]( z, D+ n7 ?
                                        <!–{if $_G[‘uid’]}–>9 p2 u2 Z: r2 ~$ H8 L
                                        <ul>. }7 ~0 @. v2 ?& f
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>3 U# z3 _  n( c4 v' i
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
) x! J% o7 E1 c8 }; m/ T# F                                                                <li>$nav[code]</li>
0 x; s9 m! U, }                                                        <!–{/if}–>* v( S+ i4 _7 q& y% E5 d8 n
                                                <!–{/loop}–>& r; d! _. O+ G5 `5 j3 \( k
                                        </ul>- Z2 V; D5 B: B& d
                                        <!–{else}–>3 h. e! q5 E$ A$ F
                                                <div class=”ptm pbw hm”>3 B. h) C1 F% W4 |! L* Y
                                                        {lang my_nav_login}
# q; x/ `/ u1 `# ^; \* z                                                </div>
- ]2 v9 x* I6 `: u, O                                        <!–{/if}–>% O8 N; P2 a. P2 K
                                </div>
" Y# [. _6 A9 w                <!–{/if}–>
+ \$ H0 ~( b! L+ E, e
; @) w. T2 t' b! q* z& _: `* @代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
7 i; i2 b0 W, K备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
& ?' \8 p" ?1 m2 \) E* s3 c4 S1 L
第97行代码:; |3 v/ G# L* T+ g# w
/ H7 }3 b0 Q* D2 _; n: |+ |
<!–{ad/headerbanner/wp a_h}–>
  C7 m8 p5 h+ |& B. S$ ]
- B' V0 q! T8 j/ r1 G4 |; E代码解释:头部的广告代码,
5 v) j+ r, _% D6 s备注:可以在后台=》运营=站内广告添加第98-184行代码:
7 _1 M# B; Q% H3 c+ u- m7 m/ {( J从<div id=”hd”>到 </div><!–{/if}–>
( T/ @" w& Z3 T/ @' q) H9 H代码解释:头部的核心文件
! |; V6 r. G1 L9 N1 P9 w/ I备注:下面是头部核心的DIV指引
) h- N. `0 H$ L& h<div id=”hd”>& R$ B4 Z/ `! E' J
<div class=”wp”>
. r0 @3 O3 H( m# m8 [' F<div class=”hdc cl”>
5 A% T! O+ f6 i9 C5 u7 B<h2>logo</h2>———————————->logo
( ~  f$ k! r' Y& i. D+ R8 q; o                 <div id=”um”>
1 E9 r$ |2 u9 Y- c1 V<div class=”avt y”>头像</div>—————————–头像# N/ q- R% h6 B  ?
                       <p>
0 u/ Y3 J  \! c7 V8 p* K<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
. }) p" ?0 x  J                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
# Q; Z: y% Q7 m$ `个人信息—————————————->个人信息, X$ R8 o/ n% q) L6 w
</p>* U8 W. L$ D. W* R1 R& U% P. o
<p>4 c3 s. z9 F3 f1 E
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
0 \# ?2 E7 Z8 }. Z个人信息—————————————->个人信息# a) Z$ r& |) t
</p>+ V+ e5 ]1 Q  r8 }
</div>" X2 b% q3 _/ b. h. c/ K5 j# q% m
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
# b+ |5 K3 D! X" N% s2 ^<div id=”nv”>
; G" t/ Q4 V( _  @$ L4 T' a8 W<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航8 V6 S: a4 E* g. n! Z
                <ul>
6 v, g8 s( X* j. k3 N<li>栏目导航</li>———————————>栏目导航+ p7 a( Y7 c" O) m% ]
                 </ul>8 i5 U5 c+ x  ~+ R: a. Z. Y
</div>
8 [/ \5 s0 i/ Y& _$ I- Q<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
  L/ z7 }' p$ h+ K5 E. I二级导航菜单样式——————————————————>二级导航菜单样式2 {, ]& W+ i5 u
</ul>0 G; W6 n6 R5 d  B6 C+ j1 X* u
< div id=”mu” class=”cl”>
; ]+ N: j- i7 q% e7 O1 F3 o二级导航横排>————->二级导航横排样式
+ c0 S: T) o& E7 U5 M9 N              </div>+ m; A6 z6 |1 i0 w. o3 F3 Y" k' c
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
1 e8 \# K/ J3 K4 v, i<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>% g. i1 i9 F! k! a, ~* W5 R4 p
</div><!–{hook/global_header}–>插件嵌入点3 D" R# \' e* Y  W5 l& ]- Q0 C1 d

: i$ u) k  {& f% X: F: C- ]总结:大家在修改的时候他的每个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-7-21 04:00 , Processed in 0.180075 second(s), 68 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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