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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!0 U/ i6 s3 T4 c! [( ]4 O' J# Q
& [! Y, \2 l: z( _+ |2 s% R+ `
header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!% o1 @8 ^* Z/ ?  N( T* o. ?
9 m. w" Z* e  B
第1行代码:8 m  z, p5 H( Z
<!–{subtemplate common/header_common}–>) H- i3 b' c4 Z! Y
代码解释:用于调用common文件下的header_common.html文件,* c& s$ X* J6 m2 h
备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。; l9 E& K% u% N) k: V

- b& ?8 n8 \! R$ o; ]2 Q第2-29行代码:
5 v- I9 b' j  ]3 r: \从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾2 W) c7 [; q1 h$ h# ?+ m
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!% ]. K: j( p* E9 f! ?1 K; D' T& e6 k
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写8 F( a- L0 A6 B" @$ `4 j

! `  g3 |8 z0 S第30-186行代码:# h' w1 |6 y+ m  |: z: J4 v  P
从<body>处开始到此文件的最下方
! b4 T2 n- k# e5 J代码解释:这是首部文件的核心
- S: n, p- s8 I4 j备注:在修改时请注间要提前备份文件
5 h0 J& ~+ j: g  ?# X3 m
1 g6 c$ O1 d6 k7 [5 F4 g第32-44行代码:
/ ]# P$ J  h8 r. x# u$ D从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾. ]; V3 ^. R1 l
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
* S( ?- z6 `5 m7 ?  k  _& S, G备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
$ v! Y1 S, e6 b+ o4 D: m* r
4 ]* o( q0 {/ M第32-44行代码:
7 c& E5 R+ s( X" R2 Y& k从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
' g2 b8 L- H2 [$ k/ q代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
$ W  ]* j% D( _4 X6 Q- X4 q( o) y备注:在后台=》界面=》顶部导航。可以设置
( _0 P" M7 G  u% Z' e6 a" [' A: p1 l! _9 Z0 O
第70-78行代码:) p2 O5 s& u' U  R+ z! ]9 p: _

! s! t8 [6 ^" ~, J  W7 k<!–{if !IS_ROBOT}–>
. S& t4 R' j0 s                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
% Y' P0 Y) ]3 z0 i. Q" b+ Q                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>+ Q; r9 G5 d6 R$ C  q
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>( B. q8 q; y+ u2 \0 M* N6 w6 q
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>
5 _9 F  v. r# W! w, t, F1 E# o* A                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>2 k& ^4 J9 V! T. R% T3 g0 Q/ I8 S
                                        <!–{/loop}–>
8 A; q% L6 h" L5 e2 t5 U0 i                                </div>
5 h  B* W# u+ `. v1 a4 u                        <!–{/if}–>
3 b) _4 \; ?& y6 s0 I& [" r/ S& q  ], i0 I, U1 t7 b
代码解释:此处是拓展色的切换的菜单
! {* E! Z& ~8 u0 |+ o/ j备注:如里不需要可以删除
; g5 t8 J' B7 C, g' ~* z
' N1 B% E+ S& g  Q' U第80-96行代码:( ~1 f6 t# |7 v! r
6 Z6 w  T+ z+ m2 M# J& y- a2 E$ R
<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
! V/ m% F9 t1 s& Y                                        <!–{if $_G[‘uid’]}–>
, Z0 d8 X$ X3 m1 s4 n: b                                        <ul>1 Y9 m& M) e/ V- c3 X- b
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
2 b3 G+ X+ c4 I2 e7 @! p- v. x                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>. V6 I/ D! G" b/ i% W9 ]
                                                                <li>$nav[code]</li>: r: D! H' S  K' {9 D: [
                                                        <!–{/if}–>0 R9 g8 C2 `( r' x: I+ R" d" p& Y! z
                                                <!–{/loop}–>
# f& a9 Z, x1 F# F# j                                        </ul>
8 l( n9 d0 X$ E                                        <!–{else}–>
8 J: ~5 z6 @9 C* T, `( ^5 k                                                <div class=”ptm pbw hm”>
. t. x! f  W4 T- r                                                        {lang my_nav_login}8 X2 p5 b/ }* E/ _
                                                </div>
8 D# s) K( f2 Q. b                                        <!–{/if}–>& ?" A  r* T0 W% N
                                </div>" Z8 J$ k$ e9 Q$ a& y5 h8 C7 P6 ?
                <!–{/if}–>+ P: j( e* q# G) y

1 F' j; }4 ^  l: ^( U' {代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
4 `$ Z+ g# s, g  t! Y备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!: Q$ ?9 P/ u( T/ h
& k- `) ^" U3 @4 s" V4 Z2 w
第97行代码:
6 H6 t6 q* {- X- `7 G* H5 R
2 M& o' k5 O1 m0 l2 g. }: C* W# g<!–{ad/headerbanner/wp a_h}–>' H( _$ Q2 G$ B9 a$ I  r
+ z( L1 ^, G/ n5 S. f0 h9 A
代码解释:头部的广告代码,' G5 x- r) l7 f" C9 q7 N7 c7 |
备注:可以在后台=》运营=站内广告添加第98-184行代码:( D+ r* E4 m# Y" }$ d, d
从<div id=”hd”>到 </div><!–{/if}–>. r/ ~0 F( y% s8 X% n
代码解释:头部的核心文件
+ y- c# ^4 W, R5 o% l  E备注:下面是头部核心的DIV指引
  P* ~- P  m, L2 m: s$ Z: F: b<div id=”hd”>' }# W- @. w: Z
<div class=”wp”>
' Y5 c6 b* [7 z<div class=”hdc cl”>9 \' P: [- x, d' R$ o
<h2>logo</h2>———————————->logo
: ?5 |; z) R8 p9 `5 A  Z                 <div id=”um”>1 `4 o3 e" p' A* U7 ]. p; ~8 ]8 F
<div class=”avt y”>头像</div>—————————–头像9 X" A) C& z/ S2 x  ^! k" ^/ |9 y: e
                       <p>
9 f9 j! ~* P+ `* v7 H' a$ S' _( R<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
1 ~7 J" |( {+ R4 _# v/ l                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
* c1 _! p1 Z3 W, J* Q# T, Q个人信息—————————————->个人信息
8 a' E, V( R2 o7 {$ ~: B  s6 @3 g- y* u</p>
# e- S# ]' P- G; x<p>0 Y) z4 R* K" o3 T) `, L1 i
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
- e3 V1 A3 M8 w2 G) Z个人信息—————————————->个人信息
  _; ?+ Y  v3 D0 M( a6 M3 L</p>% j; R8 e* ?  Y8 _* X
</div>( U' {) b# W6 a) O# ~
<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
9 I+ n& z! o. Z. I, G5 u( g<div id=”nv”># G2 W4 {. {* U% C' z$ a: `
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
; V. K& O" Y7 B% i& d9 y                <ul>
, z, k1 n7 ?' m<li>栏目导航</li>———————————>栏目导航
' ?5 e! |; X& y) J' {                 </ul>9 w, ]* E# D& t% }
</div>7 X) R9 p/ l* y- A$ a$ P; J
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>  K0 c% P4 B* h! E- S, y2 O! `1 A
二级导航菜单样式——————————————————>二级导航菜单样式" g# w# G3 S7 W: ?! |/ T
</ul>
' N" @- b# B. w< div id=”mu” class=”cl”>
' }9 `- f+ O3 m4 g. I# r二级导航横排>————->二级导航横排样式
' \: S3 p4 T6 W" q1 [9 x0 g+ m              </div>% X: g8 [( v6 ~
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)
6 A7 ?; [0 _. m6 B<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>
( y0 }* B. t+ Y6 `</div><!–{hook/global_header}–>插件嵌入点& z- f& r6 Q' c9 r7 [1 w
& V& A$ S4 \$ z1 A7 ^
总结:大家在修改的时候他的每个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-2-14 20:57 , Processed in 0.127608 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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