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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

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

* @+ H# i& Z7 |! \第1行代码:: ~& A0 P9 X8 K* B. w
<!–{subtemplate common/header_common}–>& }( Y" u9 {+ I# i! P
代码解释:用于调用common文件下的header_common.html文件,
$ A4 t: O* k$ J0 v备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。
( F1 }0 s9 J( N* |' Q6 S5 R* d* Q; V" i) a: x
第2-29行代码:
( L/ L# j0 F1 e5 \) A" Z从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
3 [' K8 r( o! e) e7 d代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!/ _! C3 S* m8 P, K
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写: V2 B8 F7 `' k: m8 V& L  _$ f" w

# d# Z8 V6 a  j2 Q) T! N第30-186行代码:
) p: {: l# P2 j2 B9 h从<body>处开始到此文件的最下方
0 ~9 N" Z5 d0 o; |, F" v4 M代码解释:这是首部文件的核心
% p+ T1 i/ i0 j备注:在修改时请注间要提前备份文件
7 W. e/ y1 u( c2 U2 O; {% w0 T
第32-44行代码:& E/ n6 o* u( R6 |2 z5 j$ i
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
+ Y$ _/ o; m2 X/ B0 [2 [( w+ z2 g代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,4 q; c+ |! j! \
备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
& f4 a  e) U) L9 y
3 D+ {2 J2 a+ G+ d+ ~* {第32-44行代码:
; o+ D) T$ C8 W7 C7 x; J从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
) q, b) Z" n  K/ c5 a代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
8 u; I3 ~  H: ]备注:在后台=》界面=》顶部导航。可以设置
" D5 h1 y, _# A4 _1 {! @9 |+ a# ]% y% ^$ u9 s" c
第70-78行代码:9 o3 n2 h7 M( Z! X( D! [$ n

8 s2 h: o6 I' d# c) N. T! W; P<!–{if !IS_ROBOT}–>* Z9 O& J1 K, a2 _" B
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
9 o# k% |$ g+ `: M0 J                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>* X; B) C# V! Z" M6 R; R/ u
                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>  c4 d. W: A2 ~4 f" N" Q$ Y# ^& s
                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>% g4 l3 F8 J. q, `0 ]
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>
1 s/ C) E- w; m- T  a! k/ u2 p, U                                        <!–{/loop}–>
7 {8 R0 a7 s( f/ Z' R                                </div># q2 m! Q1 w1 D* Y7 k$ ?2 U* f
                        <!–{/if}–>8 a, Y6 J" f" I$ K
- F1 f1 C- J" e+ {& w
代码解释:此处是拓展色的切换的菜单: W- c% O. p# ]: y2 A6 M
备注:如里不需要可以删除
1 V3 {) F' w0 U/ W7 \0 D9 e) r* I' [# j% O  u" _: V7 h
第80-96行代码:5 I5 G- T/ \% O' A

% I) Z7 ^% x  ]<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>
* J( @' t% c- |: J                                        <!–{if $_G[‘uid’]}–>) z. s* I7 }! e( q% k9 F7 R+ ?
                                        <ul>
; U! A. p; |2 z, O1 m" ~5 n1 {                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>
7 e1 Y4 P. `6 V: l$ ?                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>1 k3 `7 F/ B$ l
                                                                <li>$nav[code]</li># t5 ?* W/ Q/ p  t3 ?
                                                        <!–{/if}–>& G1 O; a) \- U# j7 `" j
                                                <!–{/loop}–>
6 z6 q, v6 h# x$ [0 f) y' ?                                        </ul>& R1 g* i+ D7 j
                                        <!–{else}–>2 {) ^/ G" g& |2 v; J
                                                <div class=”ptm pbw hm”>. G: {* h: p( w& F4 R% L3 Z) v
                                                        {lang my_nav_login}/ P0 o, j3 R, x6 u2 Q6 u; q
                                                </div>. D  j% L" G- C4 t
                                        <!–{/if}–>
- k. d1 k. c- Y" E! T" s                                </div>
+ S2 N  @4 C/ ?& \, H3 i                <!–{/if}–>( f" l- c: p6 k, s& A

) |3 g* H; r# m2 j代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈5 Z, d5 d/ C; E/ A$ K' a+ j: \
备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
& u* o& Q6 c- z3 \" j1 @. d. C9 C! x) R% f6 X9 m3 u$ t  S
第97行代码:# F" D: I3 n0 i: e; k5 p5 x- E

5 r+ O3 w8 M8 D$ B1 \" K4 }5 w<!–{ad/headerbanner/wp a_h}–>
& d! l5 v5 \/ `% G. D
" m+ L( P  ~6 B4 I# s4 e' s6 H代码解释:头部的广告代码,
0 o7 {4 v+ Q& e4 d. _+ k. ]$ N/ T备注:可以在后台=》运营=站内广告添加第98-184行代码:: |6 @( B) l( k6 R+ j8 T% W. m9 ~  V
从<div id=”hd”>到 </div><!–{/if}–>: l' q( ^; H0 y" Z: j; P8 J
代码解释:头部的核心文件
( y6 D( Y+ C' d" u* Q, f备注:下面是头部核心的DIV指引2 _5 b3 j- N8 t; m+ v9 D
<div id=”hd”>
6 I- J' [: P+ N' Z, F0 E/ ^' Z4 ]<div class=”wp”>% v. G0 o6 t! v
<div class=”hdc cl”>3 N, B& f8 F) l7 g3 Q
<h2>logo</h2>———————————->logo3 x- y* J9 j4 h5 ]
                 <div id=”um”>
9 C- Q, S4 t! `0 P<div class=”avt y”>头像</div>—————————–头像
: x. X2 A( {4 I& F3 n* Q0 U                       <p>
8 n+ |) @9 n2 T<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1+ G& e  U* `% {& E3 e
                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2  F/ z# u" w% _/ c
个人信息—————————————->个人信息+ Y0 U: c" @6 _. z# z0 h- J" S7 s
</p>
+ |. }" s6 V7 X# b' H/ d<p>  N! v$ ?6 j' h9 g0 @- y' w: i( v
<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点33 G# ]; ]' ~. u
个人信息—————————————->个人信息
0 U6 N' a5 ?' G& q1 f</p>
" X; N* [6 U! h5 W9 e: \</div>
2 g( J7 Z6 M' K; ?<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
3 x" t4 Y( i: D; V7 ~$ T* g<div id=”nv”>% V6 K5 w0 K0 u  q
<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
) \4 P1 L& d7 i                <ul>: N7 _2 j7 K! B( @) @3 F
<li>栏目导航</li>———————————>栏目导航, j5 t# \7 Q/ S) y; N0 l0 Q
                 </ul>
4 v8 Q. l7 x$ U! V; |9 Z' V% X</div>' F- U. e; g9 |( I6 n
<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
! E# A# v" F( l9 M4 T$ [1 C二级导航菜单样式——————————————————>二级导航菜单样式3 M+ F& L$ m0 {& u1 ~0 `+ I; X- A+ l
</ul>
  t: i- g1 M) C: u< div id=”mu” class=”cl”>
& D% C/ T8 @9 C! ?% ~8 A# s; D6 `二级导航横排>————->二级导航横排样式2 M* h$ ^: y. Q, s" k
              </div>$ U7 R, F" [! I
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)5 Q+ B* T0 L& E& [9 J, r
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>3 a- k$ E5 H# T  a
</div><!–{hook/global_header}–>插件嵌入点
1 @% r: g; E8 ?, A& {7 P# T8 o( U% u; a4 Z
总结:大家在修改的时候他的每个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-11-26 04:50 , Processed in 0.127876 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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