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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!+ E3 e# ^7 l' `, q& {" D& N5 z
% ?! ?# p- Y) `. O3 [+ [
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!1 q/ \1 X, }% I5 A
( E& e! j7 n7 c: p/ k  Y! I
第1行代码:
7 O7 Y$ B# V# S* R<!–{subtemplate common/header_common}–>
' ^' K! t7 j3 ~. Z/ g代码解释:用于调用common文件下的header_common.html文件,/ s" q8 z9 c# g0 f% J/ ~
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
6 B2 E* y7 @7 c4 U& n' S8 X; H
4 `2 P' E) O# A, O/ }$ S第2-29行代码:; y, W, s% p' ?! d
从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾- X4 w1 G( P$ Z5 r6 g0 Z% \
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!6 ?) O9 O2 M: U2 j) Y3 I3 f  R
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写/ z% f! p" `  U9 k' r
+ f' a6 v; |+ u& Y+ ~
第30-186行代码:
  `, d- v$ {9 W  |7 z3 o% H从<body>处开始到此文件的最下方+ W1 R$ |& v, z. A& |: V9 l0 _. c, I
代码解释:这是首部文件的核心
% X' L' {: ~0 |. M# l* [* F; U备注:在修改时请注间要提前备份文件
: l7 J% I8 ~/ s2 ~* z( v4 Y0 \) b6 ~
第32-44行代码:
, Y9 p3 _4 I3 ?5 _8 \0 I从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾# d( \2 @) n7 g& _+ o
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
1 a; g( B4 [! P备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
$ k0 M0 Z- d! \: l5 o9 B) f
0 U& Z. R5 T$ D( t第32-44行代码:
) V: |- c  O) @+ K8 @4 m* t/ [8 T+ C从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>4 V3 g9 J8 {! f/ u$ I. m) C% n
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>2 o  _' }* [& d. u
备注:在后台=》界面=》顶部导航。可以设置5 L8 I4 k% L4 Q1 `' W) w

2 B) }( z0 u- h, |( j& C# L第70-78行代码:
6 r/ O9 h6 C+ k" ~& Q2 I$ \" T6 ~' U0 {* p
<!–{if !IS_ROBOT}–>$ }2 P, n+ Y7 i+ e
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>" U* `# b" c1 _2 ?( T
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
0 Q2 d, O* \/ K( \+ Q: B                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
9 L0 U+ R* n. C) H! P2 E% Y: [                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
. U4 u" ]6 F: s; H3 [' B                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>9 k* p; n% m5 f/ M0 n4 \
                                        <!–{/loop}–>: D5 D' p! z6 y: g1 m& S. @5 z% S
                                </div>" A5 Z, L9 `& B
                        <!–{/if}–>
% t3 u( }! k( c3 {8 u  }# J/ h" v7 s" X$ |. Y- f0 f# H* L: S- m
代码解释:此处是拓展色的切换的菜单
6 N- t" \3 T6 r8 n( k0 }3 N备注:如里不需要可以删除
* m+ j7 t& I7 q# i
' ?  P; H2 g& x第80-96行代码:
. V0 I7 P3 m1 {' z' i' M( C* e
$ L# B  c9 k$ G6 K+ |1 H<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
+ K: A1 c* s% j% Q                                        <!–{if $_G[‘uid’]}–>& q8 P/ G& f: d
                                        <ul>: G0 T) ?. d/ l) v
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>9 |- \6 ~8 [" Y- t5 x
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>5 @* h7 L) P3 _2 `$ B
                                                                <li>$nav[code]</li>) I* S$ R. m# q; h3 {
                                                        <!–{/if}–>
# x7 L  b5 p. P3 ]$ A  f% n( ?# \                                                <!–{/loop}–>+ r+ U) i8 x$ }# s# E+ c
                                        </ul>6 q7 L8 B# \! |
                                        <!–{else}–>) W  ], u4 s- s: L
                                                <div class=”ptm pbw hm”>
* Z/ {) \6 k# u) {4 d4 ^2 @* L7 u2 B, ^                                                        {lang my_nav_login}. {' c3 H" o8 r) r
                                                </div>: _- d0 b* Z5 _( A! R, D6 t
                                        <!–{/if}–>
8 r: q; C- K$ z9 Y7 x5 V3 C; G3 W                                </div>
( }! B( d; E+ n2 V/ j& L                <!–{/if}–>0 I0 ^( F% A) U0 v8 {* h/ r4 l

7 Y7 m$ v# v1 c! A代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈& p$ N, k$ y2 }
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!2 U. d6 C2 l9 Q" M# G
& g* d/ n( l7 q  k+ a% z+ Z
第97行代码:
5 F" ]  A3 D" Y* m- P! c
6 O; S  A  e& T  k' d, K<!–{ad/headerbanner/wp a_h}–>) j: ]% e1 s4 A1 x

. h% g4 n9 I3 Z( |; `代码解释:头部的广告代码,- S9 \  l7 i# `; k# s8 B
备注:可以在后台=》运营=站内广告添加第98-184行代码:
% I2 W9 ?' k" y2 u7 M从<div id=”hd”>到 </div><!–{/if}–>7 B6 l3 {5 I$ D
代码解释:头部的核心文件, n& ^# T7 {# Y# C) y
备注:下面是头部核心的DIV指引8 u& l, I  @4 y0 o. v7 G3 X0 i
<div id=”hd”>
0 ^/ E7 N+ H9 q  t' k<div class=”wp”>
* ]  r; `( J- U4 z) E1 M<div class=”hdc cl”>
8 d0 N/ X' e) E# P<h2>logo</h2>———————————->logo
0 z# m0 V( J$ z4 V                 <div id=”um”>
1 J) i( p( J& l" C  r" I<div class=”avt y”>头像</div>—————————–头像! O0 E  ^1 E  p/ Z9 n5 J
                       <p>
0 R. n( l8 p+ d2 o8 Z$ M<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
  P* ~7 x, P$ c0 J                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2+ W, _7 h) H6 \4 A, X1 F1 r& \
个人信息—————————————->个人信息
) o3 V0 W1 N' w4 i; j0 G: p</p>
+ \  w3 ^9 Q0 `% X<p>9 N( I4 ?% {, E& p1 S/ X
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点35 I3 R- B$ {5 c/ l0 P: N
个人信息—————————————->个人信息
* g: p5 F# I0 _0 f4 X# V" q</p>
/ }" e  O8 v2 F  M+ R& |$ ?</div>- z7 ~# `, D4 b: v6 j/ P
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>- A# G: Z) ?4 \; G) n7 J8 J8 o
<div id=”nv”>
# u4 \  `7 }- t5 X  b( M: M<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航, `2 V: Q8 j* {) Q, P1 r
                <ul>- R. U, h. c0 S
<li>栏目导航</li>———————————>栏目导航
" F2 S2 }( o$ ]/ A  x                 </ul>; x5 D% W6 f0 ~9 n
</div>
$ [9 F4 q2 \+ u; L3 D! f<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
+ S. z$ V/ P1 z, V* w( D1 S5 |+ y二级导航菜单样式——————————————————>二级导航菜单样式
4 S/ v; S; ~' I/ w6 ]/ ?( j9 P) Z</ul>
# w2 _! Q# g9 Q8 F, I6 [< div id=”mu” class=”cl”># R' Q3 O2 r$ j, m' M0 v4 r
二级导航横排>————->二级导航横排样式
+ M8 @6 M) h* F6 a1 A8 ~              </div>- U" i( ^' m  x" w
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)  h4 b5 U7 ]) T+ q$ r
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>1 i. V# j3 u, L
</div><!–{hook/global_header}–>插件嵌入点
0 S. t! n) G" h! r$ }- O$ h" ?  z
! g( C: M6 `" \& b总结:大家在修改的时候他的每个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, 2025-12-20 22:31 , Processed in 0.181963 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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