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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

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

% W8 V8 c# _9 Q8 o, pheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
) D/ m  s& I( w+ Q. k
) l; n) Y& ?. C% l2 |, z4 G' K第1行代码:# a; \# R* c' ?' k- V0 O
<!–{subtemplate common/header_common}–>
+ x2 I9 v  i4 Q9 S: t9 a$ d" {代码解释:用于调用common文件下的header_common.html文件,8 [/ [7 j$ m2 X. j# n$ Y2 ?" Q
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。: a) f$ R: R5 t3 _
( x4 [- V1 T% O* P. e6 ~) g6 W! }
第2-29行代码:
  o3 J8 X) s# ~2 f4 @# m从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾/ o$ P6 D0 i) A% U
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!5 S8 c8 }4 ~, @( x8 r
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
4 q3 p8 t' f5 \! z6 V
9 j/ x! k+ @5 |$ i第30-186行代码:% v# ~; T1 l( p1 L; t, {% j
从<body>处开始到此文件的最下方, O( s! @. d" N1 P
代码解释:这是首部文件的核心
9 ?* y& m! N7 c% h- P- z备注:在修改时请注间要提前备份文件% x1 H- G4 Q- @& I3 k0 y
9 I3 F) v! B& Z% e" f; @
第32-44行代码:1 ]9 i* c1 O" x1 y( A3 t) a. e8 ]$ [
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾) J8 ^! X7 L9 a7 i
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
  [0 y) r1 K0 l备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!- G8 m* e# O3 ]# }6 u( k6 a

# G: o9 `% x8 v第32-44行代码:
5 w0 h1 K" k% W! v+ P7 e) E" I从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>: L% C: Y% [) o3 \) R
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div># Z* n' B$ M3 v: Z" L' Z
备注:在后台=》界面=》顶部导航。可以设置" q9 r5 t2 F# {( q

8 _/ y* \% g' u- f; H9 j: j( z第70-78行代码:
3 r! Q% L3 K" a' R& }, h/ [
3 E% V, c  W+ l) ]<!–{if !IS_ROBOT}–>  v: \9 t5 u" v" }) x
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>8 [. {  x4 |* u5 e+ X
                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
+ r% B- h: Y$ |' \2 c0 |                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>( @7 p4 m5 f+ L) o; o8 K+ A
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>, S& Q2 S  R/ D: d, z. u5 z0 }. n
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>& Y# R: f6 Z" p0 m' v
                                        <!–{/loop}–>6 T1 `/ j. m- C2 b
                                </div>
' x* t+ ?6 e8 q                        <!–{/if}–>; E+ T# O& M) ~& B7 i# Q
4 {& z  o, K2 D; a  Y! U
代码解释:此处是拓展色的切换的菜单
( g% N8 Q% i0 h9 F4 T' U% `备注:如里不需要可以删除& r5 T  ~3 ^/ ~0 R

6 T* z1 j3 o5 `7 U( b第80-96行代码:7 v0 w$ F3 g1 t: {$ d) x- j2 [
- ], f2 j' Y6 i9 d5 _
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
. A0 ~, i7 Q+ O                                        <!–{if $_G[‘uid’]}–>2 Q+ N2 g8 o1 }
                                        <ul>
1 F7 u$ z) T0 W3 c' f0 Q                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>% y* O% v3 h% ]( l- S. W2 X  O& T
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
1 V0 `/ W9 I- ?) ]% d                                                                <li>$nav[code]</li>
: h( l& z. t  K                                                        <!–{/if}–>* Q" p1 S+ D3 I2 Z; c5 s6 X" m
                                                <!–{/loop}–>
. G% S$ p; y& U% I- a) @5 Q+ d  c                                        </ul>
+ `) m/ M/ s* H) t2 T" i& \                                        <!–{else}–>) t  f2 `6 V& i
                                                <div class=”ptm pbw hm”>7 P, B  t' b" B* A' ~( x& g, _* z
                                                        {lang my_nav_login}! T) F) Y( S: ]
                                                </div>
6 j6 A4 }/ P2 b# J1 g                                        <!–{/if}–>; g9 d. H6 r* P# A% f4 F+ H* e3 d
                                </div>
5 S; x! Z# ?; {3 b: S                <!–{/if}–>' ~4 r& h5 B  S& B' h

: ]/ ?" N: B- h& M& \  f6 ~代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
6 a, S. J) F( b1 P4 N备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!  o, ]/ Z9 g/ A/ m

/ F  E4 u- v# E, W* v第97行代码:
! P( X9 {' h. g: @2 ~  Q2 r/ g/ p# e/ q/ q3 c" Y3 ?
<!–{ad/headerbanner/wp a_h}–>
( z/ ~  Q: `# O$ h
' }, t5 N( o* ^8 s4 V, j代码解释:头部的广告代码,
; Z# H1 U* G/ H/ N/ Y. A0 r备注:可以在后台=》运营=站内广告添加第98-184行代码:
! b9 x/ F7 |6 p从<div id=”hd”>到 </div><!–{/if}–>
6 g. r8 R3 a* Y; X5 K代码解释:头部的核心文件
; h+ n- F* a& Z: y9 u5 B* n备注:下面是头部核心的DIV指引' h0 \: D+ S. a/ F2 C' t/ F( [
<div id=”hd”>$ X( i0 k% g5 j7 d9 x+ t
<div class=”wp”>& N! T  {' B2 F, A+ j
<div class=”hdc cl”>
  e0 o0 g2 N% L- P, X) S+ d<h2>logo</h2>———————————->logo
: u& I0 Y/ T5 x+ `, z                 <div id=”um”>9 [3 C3 y* b) A4 q2 k% b
<div class=”avt y”>头像</div>—————————–头像
6 |( _4 [) H/ I5 v2 k6 q                       <p>8 O, ]  q* W. V2 |6 \4 G
<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
9 v7 a8 W) _6 ]7 i* @2 }6 o0 P                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
) s: p. q* K0 ?8 V7 T个人信息—————————————->个人信息
4 _2 _8 N. P+ u( |3 b  N2 `</p>
% R; s1 |( w7 Q8 t: F0 V<p>
( \0 R5 K! K8 v' [) C3 [; L' V<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点31 `1 w. \  n# H! V; ^$ m
个人信息—————————————->个人信息
( |+ i* z* Z7 I7 p% I</p>
( e0 Z) C6 v; V* s$ Y0 ?3 D3 Z</div>( f/ ?1 d6 i7 y* M: F+ o
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
2 v. N* Y: K3 i<div id=”nv”>
8 z4 u1 m  v$ \<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航  B$ u# ~( y$ o
                <ul>
: w+ Q, R4 g; R) |8 r* T* J<li>栏目导航</li>———————————>栏目导航: K/ Q7 Z) y# e! a5 ]% z4 \
                 </ul>
3 D" d  L. ?$ l' N% w8 e</div>
% \# n' z1 @# u<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>1 [' p8 u: F+ }  z4 J$ e4 O0 s* k
二级导航菜单样式——————————————————>二级导航菜单样式
! N1 B* z: i% S9 D; o7 r" x& i</ul>
6 W) l9 `( a8 p8 D  S< div id=”mu” class=”cl”>
! j6 Z; u& |1 x7 c二级导航横排>————->二级导航横排样式
- n- w* O& J1 W5 d& W+ N              </div>
# [; k, a  X/ l: X3 i9 f<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
2 C/ I  G$ j4 ~; P+ o/ ^' \<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
( r( d0 @$ q9 s' D& C</div><!–{hook/global_header}–>插件嵌入点% v+ m8 W5 v, X
; f5 k$ [. u8 y; L5 e3 Y) S- n
总结:大家在修改的时候他的每个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-1-31 16:41 , Processed in 0.129073 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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