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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

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

$ g( c1 b( `# D( R' `. @第1行代码:
) |/ v$ v% g9 R8 T* ]<!–{subtemplate common/header_common}–>
6 R. g0 R- t( `0 p1 ^代码解释:用于调用common文件下的header_common.html文件,7 j) C7 d2 v9 S$ R: b
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。# ^/ P4 `1 M- V6 `9 ^9 |" _* _3 I
) V$ \$ _$ ~3 h, @5 @
第2-29行代码:
, Q" C3 K* e0 p- B! E从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
, `" t' e+ \9 k% r. h代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!+ h$ `- ?: ~9 i6 `8 {9 M4 N' Y& `
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写1 k, B) C! O- I0 i9 R: b- o

3 N' d( J, l4 T1 p2 ~第30-186行代码:
8 E0 ~2 w- v0 o从<body>处开始到此文件的最下方
( q* y. x5 X+ J! e代码解释:这是首部文件的核心1 B; X7 X6 f- X8 n
备注:在修改时请注间要提前备份文件
+ ^* O* \! [8 D0 Z" V- N" w7 L7 Z5 Q6 e8 U* _6 r
第32-44行代码:) I* f4 o4 R( [! G4 J- W( b1 L, q
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
/ s8 p& D- G4 h4 {  W$ R+ A代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
- Y6 T) y0 @! K4 V$ m+ ]备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!: J# `3 N1 q  S( K8 ~# M3 p

4 h; P+ f! L4 Y% N5 h4 F第32-44行代码:
2 u' Z7 d. _  l3 U从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>) o# x% b) m' R& i- W
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>7 K# c2 y. H# @1 ?! b% `+ W
备注:在后台=》界面=》顶部导航。可以设置
0 @# u5 r6 {  }) a: ~
/ _/ v+ b4 u" B: E+ }第70-78行代码:# ?/ A' R$ b) \- k/ e* D9 X9 G* O

9 L+ L+ q  V/ f0 b: I5 ?6 A8 K<!–{if !IS_ROBOT}–>
8 Y$ X. I' }1 Z  x) J2 \                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>7 i5 ?* ]) l: X. V9 s7 d( ?
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>% h# V1 k' ~# c! ^
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>7 D! ^3 t/ v. H; |9 G* L) `( ]
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>4 w# V6 F! d) k/ }# \: i! c) e
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>) W4 t6 O# \' }& [: ~
                                        <!–{/loop}–>
2 T( e5 m" L9 L1 o/ s                                </div>
( [  d0 @+ P# O! ~4 o                        <!–{/if}–>
" [7 x& X/ ]% V4 c/ v8 F% B* I4 k, v7 x& s3 x
代码解释:此处是拓展色的切换的菜单* J' v: j+ \- Q6 y: c+ L
备注:如里不需要可以删除0 \0 T4 o- J" C

  i% x( ?2 G3 z0 E1 }第80-96行代码:
( u  W2 b; s+ `) X
: ]) O1 ~" M9 o7 Z/ G; E: H<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
$ S0 ?; P; W4 m# t; h                                        <!–{if $_G[‘uid’]}–>
; m1 O8 O, M2 K7 L                                        <ul>: u  A# h  Z. e* p  k4 h) y/ {
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
% l; y/ ?( ^/ r- V3 W8 q+ i+ _6 d                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
4 q7 B. v7 Y6 s. |; A                                                                <li>$nav[code]</li>0 M8 ~! X- J; k1 ~4 u( t. [
                                                        <!–{/if}–>, r4 K3 s! l( w* q" [) y% O) i
                                                <!–{/loop}–>1 v* W2 l3 N; y; b6 \, H
                                        </ul>, A+ B, y6 _% [. G9 U
                                        <!–{else}–>
* Y( P* |* r- b3 V; Z/ b7 p                                                <div class=”ptm pbw hm”>( _7 A% g& t7 Q3 I. b; D
                                                        {lang my_nav_login}6 E% ]' x/ q" L9 J
                                                </div>& E- K1 @% x. n. w$ i- U
                                        <!–{/if}–>
) H( ?, l" X) `8 i% N- H                                </div>
+ ]4 o0 Y% v; q/ g                <!–{/if}–>4 O% }/ h1 [$ h& y8 ^8 f

4 T/ p' \7 a. Q% A  d代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈! p: h& T% W, y+ i5 w6 Y7 d
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!8 B2 H! G% t" p- S- r/ G$ x

2 \3 Z& p( Q9 b  f4 K+ ~3 ]第97行代码:$ a9 g, h7 D6 o
6 @$ ~9 `& E, a5 G$ n, l
<!–{ad/headerbanner/wp a_h}–>- f, E+ t9 l5 X, O
% R  u7 P# w. L" s
代码解释:头部的广告代码,! @" [4 Z" f1 e$ u) E& M4 f& p* {
备注:可以在后台=》运营=站内广告添加第98-184行代码:
3 x2 R# H6 I2 Y& s" d6 c从<div id=”hd”>到 </div><!–{/if}–>
# V6 h" J& e  [+ P代码解释:头部的核心文件
" m# A, W1 i0 i% i; G) P1 Y备注:下面是头部核心的DIV指引
7 Z7 `1 e; p$ |! d4 C* [<div id=”hd”>
+ e9 y6 U# v+ {0 s# S& g' h<div class=”wp”># k% {) u/ g& G. P& f2 q
<div class=”hdc cl”>4 }' l0 Y% ]$ n6 z
<h2>logo</h2>———————————->logo
8 ?7 k  ~4 x) i, G1 ^                 <div id=”um”>
# x9 ~  R* [: c5 j( p, i1 f<div class=”avt y”>头像</div>—————————–头像, v2 d9 R  k) Q: I
                       <p>
) v4 M& R( v  w<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点19 x2 n# P: Y/ Z) ^5 U- s8 g9 n
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点25 e3 ?* f  w5 f
个人信息—————————————->个人信息7 q1 u" ?% e0 |! x
</p>. T, f- {2 ?6 L
<p>! b9 Y4 |4 ~% n( `+ R9 y! I, [
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
# q/ K* t# f* a个人信息—————————————->个人信息
$ P4 W2 T1 Y/ _, D</p>
3 `% k/ ^6 W+ J. x# [0 b</div>
, t. G0 h8 e0 j! W( K* ?<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
- j$ V+ ^7 g5 s6 i, ]0 L% m$ y! J<div id=”nv”>
# a* n$ G. p% s' N<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
1 Q4 m: t4 Q  `* C4 Q( A6 N4 Q! V& O                <ul>) h$ h( I. ?1 R0 j: a
<li>栏目导航</li>———————————>栏目导航
: ^- k% k1 n+ W                 </ul>0 m  }, n0 |, J: b& t1 D
</div>  b* D& H1 r6 W0 W2 C
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
5 m! o" j! T5 u9 m5 {  i二级导航菜单样式——————————————————>二级导航菜单样式* }3 J" O' n+ J, Z8 ~
</ul>
. q7 V7 ^% E8 h< div id=”mu” class=”cl”>
' c% h2 V4 z: y1 t! ~9 \: }二级导航横排>————->二级导航横排样式( x( [- w7 D- d1 {" s
              </div>. \5 ^; {' Y% ^
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
4 [2 M# Q; ?* H1 V8 @<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
0 E: q0 \: R% O, F7 ^  c4 [</div><!–{hook/global_header}–>插件嵌入点
/ t' v2 {# p8 m7 G3 X! E5 t4 q7 }' H( Q$ ~  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-4-15 10:27 , Processed in 0.186073 second(s), 57 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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