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

罗码gitluo

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

手机动态码快速登录

手机号快速注册登录

搜索
开启左侧

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

[复制链接]
罗码男神 实名认证 官方 发表于 2020-1-20 03:01:00 来自手机 | 显示全部楼层 |阅读模式
很多站长在使用DZ的时候,很想修改(header)头部文件,却无从下手,今天我就从文件第一行到最后一行来给大家解剖一下此文件,熟悉的站长都应该知道,Dx的模板制作无不是三个部分,头部(hd)、主体(wp)、底部(ft),这三个部分就是制作模板的关键,然而其中三个部分个人觉得最难的还是主体部分,今天讲下头部文件代码,因为是代码教程,有些代码太长,没必要粘贴过来!我会尽量的写详细点,后须我会将一些常用 的模板文件进行解剖!在这里希望大家支持一下!随便AD下!
+ [. Y, {6 g5 L6 V6 G
5 `: ~- [( W' Z+ ~( e9 [0 k* Sheader.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!
- t3 t* [" N& A7 @  p( Y1 i8 ?2 i& k0 L2 D3 B7 M$ B5 I
第1行代码:/ g7 d0 ~$ J7 v* P$ H
<!–{subtemplate common/header_common}–>6 t/ N( a, H& I" u$ \# K
代码解释:用于调用common文件下的header_common.html文件,
# m: d7 F1 a4 i4 Q备注:<!–{subtemplate}–>与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需要以<!–{subtemplate 模板名称}–>的方式引入进来。. H3 q8 [) w# f
) [9 C7 q4 j  b! @6 Q
第2-29行代码:
) e2 d# e( \; n/ _. k4 x从<meta name=”application-name” content=”$_G[‘setting’][‘bbname’]” />开始到以</head>结尾
% ?5 f1 r/ ~7 y- K代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!' Y) s. U! G( Z# `  [* ]
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写
2 E/ K8 j- T1 D+ y
  A' l! e; Q$ ]$ x! z) {8 C第30-186行代码:  N" V3 r$ C) E1 C
从<body>处开始到此文件的最下方2 Z% d/ x% R$ f. q
代码解释:这是首部文件的核心
1 E* z6 o: j. k6 o备注:在修改时请注间要提前备份文件; J. ], m0 ^6 K) x5 w9 r" m

- T' y& x% I3 m第32-44行代码:
: y( M; T* d1 C8 A从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb” class=”cl”>结尾
3 c* i( B2 W% T" t9 [代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
# l/ Q! D. r; @4 b9 x1 ]' b备注:<div id=”toptb” class=”cl”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!
$ l! i/ w) }% F& U7 l- L. i0 D/ L3 h! @, P) N. k# f
第32-44行代码:- [( u; s' E9 c
从代码:<div id=”toptb” class=”cl”>到</div><!–{if !IS_ROBOT}–>
* @% s8 F  f- l0 r  R7 g3 y代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div class=”y”>右处内容</div>,<div class=”z”>左处内容</div>
; `# B5 w- c2 P. e备注:在后台=》界面=》顶部导航。可以设置
" P" b: s: }. F/ u
, o$ M4 a9 I* i6 [' E, Q第70-78行代码:
+ N+ Z0 h6 w. u0 }
" O1 e5 M' k& }* A<!–{if !IS_ROBOT}–>% V2 t5 |) Y2 X" ?0 y
                        <!–{if $_G[‘uid’] && !empty($_G[‘style’][‘extstyle’])}–>
2 h5 x  p+ e1 L/ L* ^                                <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
0 O! D# ~) f8 Y* x                                        <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
' {; T+ I% d7 i- D                                        <!–{loop $_G[‘style’][‘extstyle’] $extstyle}–>" V/ D0 F1 X# q  G( S
                                                <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]’)” title=”$extstyle[1]”><i style=’backgroundextstyle[2]’></i></span>& ?2 _5 F9 H+ {: J+ {
                                        <!–{/loop}–>. G$ H5 A0 r* }
                                </div>
' Y7 d8 S  n5 V1 N& P                        <!–{/if}–>5 ?, k1 I, `. ?) ?- j7 y! P! w
" W" t4 P5 K! }9 r/ z
代码解释:此处是拓展色的切换的菜单
9 W4 }" g- r* F备注:如里不需要可以删除
7 y( ^0 u) h& N+ |' @' U
% U. D* \. y. r4 Q' R5 @# _% @9 y第80-96行代码:
: U" W: v( Z# j3 S
# Y$ @7 v7 t: _& D<div id=”qmenu_menu” class=”p_pop {if !$_G[‘uid’]}blk{/if}” style=”display: none;”>2 @6 c& t' o5 t4 L9 C1 f5 L
                                        <!–{if $_G[‘uid’]}–>
: O# A8 Q% R+ r& ]                                        <ul>: Q4 F: T5 C: E8 p; o) a% u! W) w$ J
                                                <!–{loop $_G[‘setting’][‘mynavs’] $nav}–>" j# R+ h4 H, }  T% }+ N
                                                        <!–{if $nav[‘available’] && (!$nav[‘level’] || ($nav[‘level’] == 1 && $_G[‘uid’]) || ($nav[‘level’] == 2 && $_G[‘adminid’] > 0) || ($nav[‘level’] == 3 && $_G[‘adminid’] == 1))}–>
# I* o2 ?% v' }, [: s+ I                                                                <li>$nav[code]</li>
5 z: Y, C" J3 x                                                        <!–{/if}–>
6 t" {' ?; C( S                                                <!–{/loop}–>
- E3 l+ u( _- k* E  Z                                        </ul>
  a7 O, h* v7 d# j2 a$ [                                        <!–{else}–>: G6 Y: U# y  w, {. \1 V. v' W
                                                <div class=”ptm pbw hm”>
3 U6 @& S# V7 P4 p- S4 b                                                        {lang my_nav_login}8 w% S6 R8 _( S5 _# C
                                                </div>
( W  C7 q$ [; G8 w& P                                        <!–{/if}–>
# l( y6 {" L4 P0 B                                </div>. _# B5 C; r3 ]4 K, D$ N. v) N
                <!–{/if}–>$ ]! D$ o' w9 K+ m9 {3 r# ]! f
5 p" M6 y" q5 A. F: c7 D6 j3 s
代码解释:此处是快捷导航弹出的菜单,里面用到了<!–{if $_G[‘uid’]}–>语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
, t+ L$ g/ p: C- p备注:<!–{if $_G[‘uid’]}–>语句可以用到很多地方,自己在做模板的时候,可能会用到!
: z9 R4 c$ g' \6 v& k! b! D  j7 j6 y
) E1 V4 p" i% y% E. D6 ~第97行代码:
6 \" d' |' v" k# y" U, Z" E2 Z4 ^# [, v8 D: n
<!–{ad/headerbanner/wp a_h}–>/ T2 `6 g7 O& p4 t4 }

" o# N2 j9 j+ w代码解释:头部的广告代码,1 ]( P+ w2 y; z8 k8 e9 j" W4 ~
备注:可以在后台=》运营=站内广告添加第98-184行代码:
$ r9 k5 r8 X! A+ u9 [从<div id=”hd”>到 </div><!–{/if}–>1 S$ s% Q% Q0 r/ Z7 I+ j
代码解释:头部的核心文件
2 k3 ]  e; K$ a- h' Z备注:下面是头部核心的DIV指引
/ ~8 L1 F) I1 r2 u. y' J<div id=”hd”>; N9 v) d" ]; o; C3 [
<div class=”wp”>3 u  F3 o0 g& K/ w& h* b$ x
<div class=”hdc cl”>
. [: M  K$ E+ G, m+ z<h2>logo</h2>———————————->logo# K9 f& u; R7 X' ?, B
                 <div id=”um”>1 E4 P  M; J# e' R# \! e0 O
<div class=”avt y”>头像</div>—————————–头像
; q' C$ ^; Z& u+ ?/ K  ~  J& m                       <p>
/ ^% M+ q6 Q( V4 h- \<!–{hook/global_usernav_extra1}–>————————————>插件嵌入点1
. L) Z7 d8 A; m% Z- O                          <!–{hook/global_usernav_extra2}–>———————————>插件嵌入点2
: n% H* T  ~' K$ v$ Y个人信息—————————————->个人信息' C$ k1 _+ O3 b7 _
</p># g, |" y1 y1 C: |( G* g
<p>
" b% _  g$ x6 n9 g<!–{hook/global_usernav_extra3}–>—————————>插件嵌入点3
1 U$ F' [# _, N( q" [( O( Y个人信息—————————————->个人信息
: O  v; l0 J  z, Z" h. C- a# y</p>
& {7 t3 _; Z# m/ k/ {</div>
0 @" b6 q4 I( W; ~<!–{template member/login_simple}–>—– > 登录框(此处调用member/login_simple.html文件)                         </div>
$ m- q5 r- j. o: K<div id=”nv”>
* [+ b' O5 k! E6 K+ x<a href=”javascript:;” id=”qmenu” >快捷导航</a>————–>快捷导航
& x1 q  b; ~. V; Z6 j- r                <ul>
) \4 c: J, X' Q% W<li>栏目导航</li>———————————>栏目导航" C" s2 j' t: m
                 </ul>
9 b& W0 ]+ [' `  V5 C8 Y# w</div>
; j  j2 K2 f( \: O3 u<ul class=”p_pop h_pop” id=”plugin_menu” style=”display: none”>
% X$ r6 T4 |; B6 K2 |二级导航菜单样式——————————————————>二级导航菜单样式
% k- D1 o1 f3 M3 ^3 C2 N- K</ul>0 m3 {: b3 m" T% B
< div id=”mu” class=”cl”>
! h6 q9 T. r  t二级导航横排>————->二级导航横排样式
/ B* O$ E1 l( V& j. ~              </div>2 k' I9 G5 R5 P
<!–{ad/subnavbanner/a_mu}–>————————->头部广告(后台站点广告处可以添加)- Q$ `: G0 @( j& M! A% F2 q8 T
<!–{subtemplate common/pubsearchform}–>——–>搜索(此处调用common/pubsearchform文件)                   </div>0 ]) I4 }, b: ^/ q% ]7 Q
</div><!–{hook/global_header}–>插件嵌入点2 ]: [" S5 j! s' L* F# Y7 Z

! v3 `2 }$ {0 o1 q4 d9 H总结:大家在修改的时候他的每个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-21 22:07 , Processed in 0.133107 second(s), 59 queries .

Powered by 罗码网络! X3.4

© 2001-2017

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