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

相关文章

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语