discuzx2.0模板制作解析header.htm

2024-02-14 13:48

本文主要是介绍discuzx2.0模板制作解析header.htm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

discuzx2.0模板制作解析header.htm

header.html这个文件存储于common文件下,这个大家应该不陌生吧,我是每个DIV为小节来讲,头部的核心div我就不加if语句来讲解!因为代码太多了!我会在最下面给大家总结一下!修改应该注意的地方!

第1行代码:
<!–{subtemplate common/header_common}–>
代码解释:用于调用common文件下的header_common.html文件,
备注:<!–{subtemplate}–> 与<!–{template}–}–>是有区别的,<!–{subtemplate }–>后面的模板文件通常都是被包含在其他模板文件中的子体。这样在解析模板的时候,程序就会判断<!–{subtemplate }–>所引入的模板会被再一次解析一遍然后再和入口模板拼合,组成一个完整的模板。也就是说,如果我们添加的模板是在别的模板中被调用的话我们需 要以<!–{subtemplate 模板名称}–>的方式引入进来。

第2-29行代码:
从<meta name=”application-name” content=”$_G['setting']['bbname']” />开始到以</head>结尾
代码解释:这里主要放置一些外部文件,其中的代码不多作解释,大家在加的时候请考虑官方的书写规范!
备注:此处虽然不解释太多,但大家还是会用到!如果要加外部调用JS、css请按官方的模板制作规范来书写

第30-186行代码:
从<body>处开始到此文件的最下方
代码解释:这是首部文件的核心
备注:在修改时请注间要提前备份文件

第32-44行代码:
从<div id=”append_parent”></div><div id=”ajaxwaitid”></div>处开始到<!–{/if}–><div id=”toptb”>结尾
代码解释:此处是整的DIY样式导入、导出及样式修改等,此处代码是隐藏的,
备注:<div id=”toptb”>是方便你查找才写出!此代码不要修改,在修改模板时也不要漏了!

第32-44行代码:
从代码:<div id=”toptb”>到</div><!–{if !IS_ROBOT}–>
代码解释:顶部文件,用于放置导航与dz内部的一些功能,<div>右处内容</div>,<div>左处内容</div>
备注:在后台=》界面=》顶部导航。可以设置

 

 

第70-78行代码:

 

  1. <!–{if !IS_ROBOT}–>
  2.                         <!–{if $_G['uid'] && !emptyempty($_G['style']['extstyle'])}–>
  3.                                 <div id=”sslct_menu” class=”cl p_pop” style=”display: none;”>
  4.                                         <!–{if !$_G[style][defaultextstyle]}–><span class=”sslct_btn” onClick=”extstyle(”)” title=”{lang default}”><i></i></span><!–{/if}–>
  5.                                         <!–{loop $_G['style']['extstyle'] $extstyle}–>
  6.                                                 <span class=”sslct_btn” onClick=”extstyle(‘$extstyle[0]‘)” title=”$extstyle[1]“><i style=’background:$extstyle[2]‘></i></span>
  7.                                         <!–{/loop}–>
  8.                                 </div>
  9.                         <!–{/if}–>

 

代码解释:此处是拓展色的切换的菜单
备注:如里不需要可以删除

第80-96行代码:

 

  1. <div id=”qmenu_menu” class=”p_pop {if !$_G['uid']}blk{/if}” style=”display: none;”>
  2.                                         <!–{if $_G['uid']}–>
  3.                                         <ul>
  4.                                                 <!–{loop $_G['setting']['mynavs'] $nav}–>
  5.                                                         <!–{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}–>
  6.                                                                 <li>$nav[code]</li>
  7.                                                         <!--{/if}-->
  8.                                                 <!--{/loop}-->
  9.                                         </ul>
  10.                                         <!--{else}-->
  11.                                                 <div class="ptm pbw hm">
  12.                                                         {lang my_nav_login}
  13.                                                 </div>
  14.                                         <!--{/if}-->
  15.                                 </div>
  16.                 <!--{/if}-->

 

代码解释:此处是快捷导航弹出的菜单,里面用到了<!--{if $_G['uid']}-->语句进行判断,意思是只有会员才可以浏览此处内容,循环我就不多讲了哈
备注:<!--{if $_G['uid']}-->语句可以用到很多地方,自己在做模板的时候,可能会用到!

 
第97行代码:

 

  1. <!--{ad/headerbanner/wp a_h}-->

 

代码解释:头部的广告代码,
备注:可以在后台=》运营=站内广告添加

第98-184行代码:
从<div id="hd">到 </div><!--{/if}-->
代码解释:头部的核心文件
备注:下面是头部核心的DIV指引

 

  1. <div id="hd">
  2.         <div class="wp">
  3.              <div class="hdc cl">
  4.                 <h2>logo</h2>---------------------------------->logo
  5.                  <div id="um">
  6.                              <div class="avt y">头像</div>-----------------------------头像
  7.                        <p>
  8.                           <!--{hook/global_usernav_extra1}-->------------------------------------>插件嵌入点1
  9.                           <!--{hook/global_usernav_extra2}-->--------------------------------->插件嵌入点2
  10.                           个人信息---------------------------------------->个人信息
  11.                       </p>
  12.                       <p>
  13.                          <!--{hook/global_usernav_extra3}-->--------------------------->插件嵌入点3
  14.                          个人信息---------------------------------------->个人信息
  15.                      </p>
  16.                  </div>
  17.                        <!--{template member/login_simple}-->----- > 登录框(此处调用member/login_simple.html文件)                         </div>
  18.               <div id="nv">
  19.                   <a href="javascript:;" id="qmenu" >快捷导航</a>-------------->快捷导航
  20.                 <ul>
  21.                  <li>栏目导航</li>--------------------------------->栏目导航
  22.                  </ul>
  23.                 </div>
  24.                <ul class="p_pop h_pop" id="plugin_menu" style="display: none">
  25.                       二级导航菜单样式------------------------------------------------------>二级导航菜单样式
  26.                </ul>
  27.               < div id="mu" class="cl">
  28.                             二级导航横排>------------->二级导航横排样式
  29.               </div>
  30.               <!--{ad/subnavbanner/a_mu}-->------------------------->头部广告(后台站点广告处可以添加)
  31.                 <!--{subtemplate common/pubsearchform}-->-------->搜索(此处调用common/pubsearchform文件)                   </div>
  32.         </div><!--{hook/global_header}-->插件嵌入点

 

总结大家在修改的时候他的每个DIV和ul、li、和会有if语句,大家在看明白以上图后,在添加的时候要注意一下IF语句的作用,我就没有把代码复制到上面一一解析,希望大家去妍究下!利用这些资源,自己可以做出很漂亮的头部,举一反三!


这篇关于discuzx2.0模板制作解析header.htm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708666

相关文章

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

Spring IOC控制反转的实现解析

《SpringIOC控制反转的实现解析》:本文主要介绍SpringIOC控制反转的实现,IOC是Spring的核心思想之一,它通过将对象的创建、依赖注入和生命周期管理交给容器来实现解耦,使开发者... 目录1. IOC的基本概念1.1 什么是IOC1.2 IOC与DI的关系2. IOC的设计目标3. IOC

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

基于Java实现模板填充Word

《基于Java实现模板填充Word》这篇文章主要为大家详细介绍了如何用Java实现按产品经理提供的Word模板填充数据,并以word或pdf形式导出,有需要的小伙伴可以参考一下... Java实现按模板填充wor编程d本文讲解的需求是:我们需要把数据库中的某些数据按照 产品经理提供的 word模板,把数据