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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!) X, e4 ~: H( g/ `: L

  _( w( L/ T# bheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
( f  h1 \) }9 L: W. _
- ^  l: E  S; {& x; S2 |0 S第1行代码:; V% j" ]! U9 S) Y4 y* f7 a
<!–{subtemplate common/header_common}–>
- Y) `) e. ?' U& K3 a- }代码解释:用于调用common文件下的header_common.html文件,
. o$ @6 l& y: s- q4 K* H5 D: ]" M备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
8 g* U0 X2 H7 t' G% U" ]3 A0 e* V& Q4 @
第2-29行代码:
/ B9 x. }( v# d4 E* D( Q从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
  K# U8 x! Q+ ~! X9 \4 I代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!1 |% ^8 [: ]- h1 \2 N0 g& u4 u+ f) i
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
. k4 F9 G7 E2 ~$ z: [/ ^4 s1 x4 s& A( z5 ^2 @
第30-186行代码:' L* J3 _. N( D& m$ p4 X
从<body>处开始到此文件的最下方
: O4 N5 S! }0 b  L代码解释:这是首部文件的核心
+ r  h; T" R8 o( s0 ]备注:在修改时请注间要提前备份文件
$ a: T& h' l  B8 G7 U$ @! I! Q  O! j1 N& n/ l% j, ]
第32-44行代码:
, M; V+ D( R, g3 R! j从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾. w7 t# `$ q# v. F- a
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,7 A/ N- A7 B" s* h
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!4 W8 c9 T1 Y6 D: ]% E, m+ V

' ~, d" e- k5 R7 t! U9 G4 k3 N第32-44行代码:
* c, I) s% m1 Y; B3 z4 O从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
- D" n6 D: A" o: z" {& W5 P# I代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>' h3 T% m; |% `6 Q( \8 A
备注:在后台=》界面=》顶部导航。可以设置1 N% N& E3 g2 H0 S, T

' P7 M+ R' g- R4 M7 `" P2 v3 R第70-78行代码:1 R! Y3 x# X$ l) y) p) a6 U4 \# p

$ j4 S3 C  R/ u) K8 @" O9 a<!–{if !IS_ROBOT}–>2 c3 E  \/ b& v9 K! X. S4 j
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>0 O! D( E) z3 M
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>3 N. x! m+ X9 B0 T; T7 E8 ?8 C; |
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>2 f0 @/ P/ a) s
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
# D* h: V# j/ S, y0 F/ \4 u                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
. v" n5 _5 Z1 t+ R5 a' R/ t0 n                                        <!–{/loop}–>
9 ^" S0 E& A/ @# A6 W1 o                                </div>: |8 ?$ V, d: Q: s6 G
                        <!–{/if}–>
. P6 T( z" E+ x8 k% j# @
% A) }2 {  B% c; w4 y代码解释:此处是拓展色的切换的菜单
, W: [5 H8 u+ Q  B& l备注:如里不需要可以删除
2 A# n) L( t8 [* o  y
5 o1 q/ C' ~1 P0 a第80-96行代码:
: Q+ P$ l5 i4 g8 h* L3 Q' w1 c
; S" D0 {8 U1 \* t7 L<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>0 d; Q- c( w3 D& N8 I( E
                                        <!–{if $_G[‘uid’]}–>' W. N4 y- d/ B4 t! |4 F. q/ x
                                        <ul>
) P& t4 c2 Y2 q3 U: H2 T                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>; f7 C9 \' U2 `( r" {
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
3 g7 r7 m. \- I$ B                                                                <li>$nav[code]</li># n1 T5 Z; A" b$ A
                                                        <!–{/if}–>
1 b: ?% V  T- a3 h7 a7 o8 W1 t  `                                                <!–{/loop}–>; W3 R9 m1 O& r7 D
                                        </ul>( N, |! |$ p% V9 I: c9 k
                                        <!–{else}–>
! `2 R9 B# D; _0 t7 R                                                <div class=”ptm pbw hm”>
+ a; O: I% f/ N$ `, H  x. p9 O+ V                                                        {lang my_nav_login}
- L, p4 e, d9 v# r  |4 ]                                                </div>" z' _+ N* o$ j
                                        <!–{/if}–>
+ ^6 m) ?% g" @6 N6 R' h                                </div>
9 B9 T/ S- t# `0 T' l                <!–{/if}–>
( Z8 w- Y( w7 D% X" s) P% N1 O3 ~2 G; e2 [" o" Y% @* }
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
4 o5 z9 d. B; `1 l; s: o" q备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!! v, f# N6 M2 T; Y& R0 c' f
/ p( u, ]2 D9 m3 y" k4 ]
第97行代码:5 j7 o% f! H% v" D$ D  }
  k: J% @9 l, J3 p# ^. C
<!–{ad/headerbanner/wp a_h}–>
# |) y  W- s  Y; |# M9 |4 e: k2 o1 h
6 ]! \% Z9 Q9 D$ b9 s% r4 Z代码解释:头部的广告代码,  M3 g0 x/ a* Q: l
备注:可以在后台=》运营=站内广告添加第98-184行代码:
+ z: `) y$ l; s. U2 d从<div id=”hd”>到 </div><!–{/if}–>
$ L1 {9 J5 g/ R/ @6 `4 f$ _代码解释:头部的核心文件
8 I- J5 I1 P4 s6 N& _备注:下面是头部核心的DIV指引
2 e- I: I- N# I# d( G0 h1 x<div id=”hd”>1 F) L# o+ F, g, j1 Q1 [6 l6 O4 a
<div class=”wp”>
& z4 z. n0 d  k% X<div class=”hdc cl”>* z. X0 P, _9 e( \3 v
<h2>logo</h2>———————————->logo
, c! m2 X0 u* t% p+ y  N                 <div id=”um”>
# j* E# M* u9 N8 c<div class=”avt y”>头像</div>—————————–头像
0 o4 d* s% n% b                       <p>
5 a0 C) V1 O' f; `<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1! `$ L9 {6 R/ D
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
! A, m  o  p9 ^, ?3 [# y5 Q  P+ c个人信息—————————————->个人信息
% {3 o2 V# U# a" Y5 }* `5 i</p>
% e' W, n5 O" S7 M& y$ U- ]<p>
* p8 ~; B. X+ m% i; R4 `9 a$ d8 ]<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
7 M9 C+ B9 f" \9 }8 e个人信息—————————————->个人信息0 G- @  v) s6 }) r& X, j, ]
</p>7 A. w5 u* \4 P1 z1 t& e) _
</div>
- l) \) m, Q& v6 f, q  x4 d) J$ w/ k<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>! C8 w( i) u4 V- E7 s
<div id=”nv”>
4 v3 b; z; a( `+ q* {& d" T( T) M( u<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航8 D+ V2 q9 Q( F$ o! h; r
                <ul>7 h8 X, z. e: j3 o" I
<li>栏目导航</li>———————————>栏目导航2 O1 `) w) K/ s* E6 t+ z& Q
                 </ul>2 I5 v6 e8 n3 m! f9 n
</div>  K# T4 K5 V- d  x# A
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>. \2 W0 }% w. F3 C- @  z- G
二级导航菜单样式——————————————————>二级导航菜单样式, h' L- a  u8 r5 u* M2 ~- L
</ul>
8 Q, |5 g  J: U$ F( ~. {3 b( V) r3 ~0 j< div id=”mu” class=”cl”>
8 g. [* Q) }) b8 K( O二级导航横排>————->二级导航横排样式
7 i2 _- s* D) i1 F# _+ p              </div>
6 h1 E+ E* D" v0 x2 {<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)  v) L# p1 R% E% t; G
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
- U: |* D. K/ X/ N# R</div><!–{hook/global_header}–>插件嵌入点
$ i5 x' ?  v, [  m7 p, f% I! [# V2 e* g8 g4 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, 2026-5-22 02:11 , Processed in 0.133073 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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