Discuz!X模板代码解析--Header(头文件)

2023-11-16

  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行代码:

     
     
       
       
<!--{if !IS_ROBOT}-->
<!--{if $_G['uid'] && !empty($_G['style']['extstyle'])}-->
<div id="sslct_menu" class="cl p_pop" style="display: none;">
<!--{if !$_G[style][defaultextstyle]}--><span class="sslct_btn" onClick="extstyle('')" title="{lang default}"><i></i></span><!--{/if}-->
<!--{loop $_G['style']['extstyle'] $extstyle}-->
<span class="sslct_btn" onClick="extstyle('$extstyle[0]')" title="$extstyle[1]"><i style='background:$extstyle[2]'></i></span>
<!--{/loop}-->
</div>
<!--{/if}-->



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

第80-96行代码:

     
     
<div id="qmenu_menu" class="p_pop {if !$_G['uid']}blk{/if}" style="display: none;">
<!--{if $_G['uid']}-->
<ul>
<!--{loop $_G['setting']['mynavs'] $nav}-->
<!--{if $nav['available'] && (!$nav['level'] || ($nav['level'] == 1 && $_G['uid']) || ($nav['level'] == 2 && $_G['adminid'] > 0) || ($nav['level'] == 3 && $_G['adminid'] == 1))}-->
<li>$nav[code]</li>
<!--{/if}-->
<!--{/loop}-->
</ul>
<!--{else}-->
<div class="ptm pbw hm">
{lang my_nav_login}
</div>
<!--{/if}-->
</div>
<!--{/if}-->


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

第97行代码:

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

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

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

     
     
<div id="hd">
        <div class="wp">
             <div class="hdc cl">
                <h2>logo</h2>---------------------------------->logo
                 <div id="um">
                             <div class="avt y">头像</div>-----------------------------头像
                       <p>
                          <!--{hook/global_usernav_extra1}-->------------------------------------>插件嵌入点1
                          <!--{hook/global_usernav_extra2}-->--------------------------------->插件嵌入点2
                          个人信息---------------------------------------->个人信息
                      </p>
                      <p>
                         <!--{hook/global_usernav_extra3}-->--------------------------->插件嵌入点3
                         个人信息---------------------------------------->个人信息
                     </p>
                 </div>
                       <!--{template member/login_simple}-->----- > 登录框(此处调用member/login_simple.html文件)                         </div>
              <div id="nv">
                  <a href="javascript:;" id="qmenu" >快捷导航</a>-------------->快捷导航
                <ul>
                 <li>栏目导航</li>--------------------------------->栏目导航
                 </ul>
                </div>
               <ul class="p_pop h_pop" id="plugin_menu" style="display: none">
                      二级导航菜单样式------------------------------------------------------>二级导航菜单样式
               </ul>
              < div id="mu" class="cl">
                            二级导航横排>------------->二级导航横排样式
              </div>
              <!--{ad/subnavbanner/a_mu}-->------------------------->头部广告(后台站点广告处可以添加)
                <!--{subtemplate common/pubsearchform}-->-------->搜索(此处调用common/pubsearchform文件)                   </div>
        </div><!--{hook/global_header}-->插件嵌入点


原文:http://zwl.name/?p=226
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Discuz!X模板代码解析--Header(头文件) 的相关文章

  • 使用 PyGTK 的右键菜单(上下文菜单)

    所以我对 Python 还很陌生 并且已经学习了几个月了 但我试图弄清楚的一件事是说你有一个基本的窗口 usr bin env python import sys os import pygtk gtk gobject class app
  • 优化 Web 应用程序开发策略

    如今 许多网络应用程序正在使用它们自己无法使用的 API 或代码 并且通常使用效率低下 我想到了一些谷歌地图混搭 对于 php asp 后端 HTML javascript 尤其是现在所有的 AJAX 存在许多潜在的瓶颈 问题 低效率和双重
  • 滚动播放 Html5 视频

    我正在一个 WordPress 网站上工作 下面的代码可以按照我想要的方式工作 只播放一次 最后出现 重播 按钮 我希望它在滚动到 ie 时开始播放 在视口中 我在这里看到了几种不同的方法来实现这一点 但我无法让它们与我当前的代码很好地配合
  • 在没有 Webpack 的情况下使用模块“child_process”

    我正在使用 Webpack 来捆绑依赖项 其中之一是电子邮件服务postmark 该服务依赖于称为child process显然是随节点一起提供的 问题是 当我尝试运行 webpack 来捆绑我的应用程序时 它会抱怨 找不到模块 错误 无法
  • 当字符串和类都是引用类型时

    这是我上次面试的情况 问题 字符串存储在哪里 Answer 堆因为它是引用类型 问题 解释一下下面的代码 static void Main string args string one test string two one one one
  • 使用 AngularJS ng-bind-html 时从 json 数据获取 img src

    所以我有一个有趣的问题 但我还没有找到答案 假设我从 JSON 文件中获得了一堆数据 但不知何故 其中一个主要字段如下所示 description img src http o aolcdn com hss storage midas 37
  • “Backbone.js 视图”中的单击事件不起作用

    我尝试开始使用backbone js 但我发现当我不使用 body 作为视图的el时 该事件不起作用 这是代码 您可以将其另存为 html 文件并运行
  • 如何获得日期为 yyyy-mm-dd 的年份差异?

    我想得到以 yyyy mm dd 格式给出的两个日期之间的差异 差异应该是年份 var ds 2002 09 23 var today date new Date alert today date Date prototype yyyymm
  • 如何使用Sinon监视导入的函数?

    假设我们想使用 Sinon 测试另一个函数是否调用了一个特定函数 fancyModule js export const fancyFunc gt console log fancyFunc export default const fan
  • 从字典返回类属性的数组

    Background 最近试图回答一个question https stackoverflow com q 58835358 9758194 我自己在想是否可以直接从字典项返回类对象属性的数组 Code Imagine TstClass作为
  • 使用 arrayRemove() 从 firestore 9 数组中删除对象?

    我正在尝试从 firestore 中的数组中删除一个对象 但遇到了障碍 执行删除的要求或参考是什么 对象中的一个键值是否足以执行删除操作 或者该对象是否应该与要删除的对象相同 const deleteWeek async gt const
  • `[$injector:nomod] 模块“google-maps”不可用`

    我正在使用 angular google maps 在角度应用程序中处理谷歌地图 为此 我必须添加angular google maps js到项目 如果我按以下方式添加脚本 该页面可以正常工作 不会出现任何错误 但如果我使用本地副本 它将
  • 如何查看远程脚本被阻止时返回的内容

    我在我的 web 应用程序中使用 Google 托管的 jQuery ajax googleapis com ajax libs jquery 1 8 3 jquery min js 作为错误诊断的一部分 我有一个 window onerr
  • 数据与线的日期和时间转换

    我使用 D3 V5 创建了此图表 另外 我已在小提琴上附加了示例数据 您可以点击此处查看 https plnkr co edit pINxcS9yt9AuJmSk02Fs p preview 我已经包括了tick函数代码块 它在向左滑动的路
  • 在 AngularJS 中使用 iFrame

    Using Angular 1 2 我正在尝试找出一种 有角度 的方式来加载 iFrame 但我在任何地方都找不到任何教程 任何真正的讨论 基本上 我有一个显示链接列表的搜索页面 单击链接应调用控制器中的一个函数 该函数将数据 可能通过 h
  • 有没有办法向 JavaScript 对象添加元数据?

    我想将元数据的键值对添加到任意 JavaScript 对象 此元数据不应影响不知道元数据的代码 这意味着例如 JSON stringify obj JSON stringify obj WithMetaData key value 元数据感
  • 如何使用 Chart.js 在堆积条形图中显示内联值?

    我正在使用 Chart js 库在堆叠条形图中显示一些值 但我正在努力找出如何显示条形图中的值 即 现在 我有以下代码 可以在条形顶部显示数字 但我想知道如何在条形内部显示它们 var numberWithCommas function x
  • 使用 v-bind Vue.js 的多个变量

    我试图在以下代码中传递多个变量 div div 但我收到以下错误 Vue warn 无法生成渲染函数 SyntaxError 意外的标记 在 我尝试更换 with a 但我得到 Vue warn 无法生成渲染函数 SyntaxError I
  • 在 JavaScript 中将带有哈希值的十六进制字符串转换为带有 0x 的十六进制值的最佳方法?

    这个问题不是问如何将哈希字符串十六进制值转换为其相反的颜色 这个问题询问如何将哈希字符串十六进制值转换为常规十六进制值 如下所述 我从元素的存储样式中获取元素的十六进制颜色值 我需要将它们的十六进制值 带有像 FFFFFF 这样的哈希值的字
  • Firefox 中的代理设置不会“粘连”

    在家里我们有一个代理服务器 在工作中我们不会 Firefox 在这方面令人恼火 每当我启动它时 它都会默认使用代理服务器 如果我执行 工具 gt 选项 gt 设置 并选择 无代理 则没有问题 但是 如果我关闭 Firefox 并重新启动它

随机推荐

  • el-select结合el-tree实现树形多选

    形式一 业务需求 1 在树形列表中选择项目 2 树形列表需带有筛选过滤功能 3 将已选择的项目展示在输入框中 4 输入框中的选中项可以被单独快速删除 5 下拉框中可再次对之前选择过的项目进行重新选择 实现思路 1 所用技术 vue elem
  • Android 应用内打开Word、Excel、PPT、PDF等文档

    Android平台中 可以使用以下几种方式打开Word和Excel文档 预览图 一 直接上传给第三方之后用webview打开 1 微软 https view officeapps live com op view aspx src 文件链接
  • 编程练习题——用FileReader读取文件内容

    题目目标 main 方法的第一个参数是文件名 指定文件的每个行包含下列各式 名称 月 日 年 其中 姓名 是 String 可以包含空格分隔的数个字词 月 为 int 日 为 int 年 为 int 数据由空格分隔 使用文件数据填写 PEO
  • 02-百度翻译逆向

    1 分析 发现每次请求只有sign不一样 其他的都一样 2 在这个里面找sing 3 可以看到是在b函数中做的手脚 点进去b里面看看 4 直接把这个段复制下 在python中执行js代码 因为下面要使用e n函数使用 e n函数也复制 5
  • 数据库操作--增删改查

    一 数据操作语句 DDL 数据定义语言 定义数据的结构 列 CREATE DROP ALTER TRUNCATE DML 数据操作语言 操作数据的记录行 INSERT DELETE UPDATE DQL 数据查询语言 对数据没有影响 SEL
  • error C2039: “tag”: 不是“boost::Q_FOREACH”的成员 (XXX.cpp) 问题

    记一个编译问题 错误 252 error C2039 tag 不是 boost Q FOREACH 的成员 XXX cpp VS上编译项目时出现一下错误 VS上报错的截图 导致的原因 我在头文件和 cpp文件上包含了同一个
  • linux下前端vue+后端vue+mysql+redis+springboot+nginx的docker部署记录(nginx下多个vue前端)

    1 服务器 推荐购买腾讯云的学生优惠25岁以下免验证 我购买的是轻量应用服务器 5M宽度每月1000G不香吗 系统是CentOS 7 6 购买好服务器并通过Xshell或其他软件连接好 就是前期的准备了 当然除了项目 自备 2 安装dock
  • 麻雀键值数据库 1.0.0版本

    2023年5月26日 周五下午 这个版本主要实现了设置键值对和读取键值对 下个版本主要实现把内存中的数据写入到磁盘中 把磁盘中的数据读取到内存中 这个项目我已经放到了github上 GitHub JuLongZhiLu MaQueKVDB
  • 问题解决——Python中出现“ModuleNotFoundError: No module named 'utils'”

    出现问题 ModuleNotFoundError No module named utils 解决方法 python2安装 pip install web py python3安装 pip install web py 0 40 dev1
  • qt打印html边距设置无效,如何设置QTextDocument边距和其他属性(setHTML,print to pdf)?...

    我有以下证书类用于生成一些图像和数据的pdf文档 设置图像源后 我调用generate 函数并获取test pdf输出文件 该文档是使用setHtml html 方法基于QTextDocument类创建的 问题是我在文档周围有很大的空白区域
  • Hive中如何定位数据倾斜

    1 概述 在hive中执行sql任务时 当任务在reduce阶段一直卡在99 时 很有可能出现了数据倾斜 这个时候如果我们 的sql很长 需要判断出是哪段sql导致的数据倾斜 才便于我们解决问题 2 定位数据倾斜 下面以一条sql为例子 记
  • 牛客七夕赛 D.拜托了,牛老师

    题意 给定 n n n 将 n n n分解成 k k k个不同因数的乘积 问
  • 音视频开发开发核心知识+新手入门必看基础知识

    音视频开发是一个广泛的领域 它涉及到多个技术领域 包括音频编解码 视频编解码 媒体容器格式 流媒体传输 音视频处理等 以下是音视频开发的一些基础知识 音频编解码器 音频编解码器是将数字音频信号编码成一种压缩格式 并且能够解码压缩的音频数据以
  • 错误:找不到或无法加载主类

    可能存在的问题 类路径错误 请确保你的IDE或构建工具正确配置了项目的类路径 并且能够找到 com coll ApiApplication 类所在的位置 可以检查项目的配置文件 如pom xml 或类路径设置 确保类被正确地包含在项目中 编
  • 【转】Configuring VM Acceleration on Linux

    Configuring VM Acceleration on Linux Linux based systems support virtual machine acceleration through the KVM software p
  • texlive下载速度慢(完美解决)

    在使用latex之前 都需要下载texlive 这个过程十分煎熬 官网下载 Index of CTAN systems texlive Images bjtu edu cn 清华源 Index of CTAN systems texlive
  • nodejs koa

    第一步 如何写一个基于node的hello world 创建新的文件夹nodejsdemo 在cmd命令行中进入新建的文件夹nodejsdemo 运行 npm init y 生成package json文件 在cmd命令行中进入新建的文件夹
  • 验证性实验

    验证性实验 验证性实验 ipconfig 实作一 实作二 ping 实作一 实作二 tracert 实作一 ARP 实作一 实作二 实作三 DHCP 实作一 netstat 实作一 实作二 DNS 实作一 实作二 实作三 cache 实作一
  • 安装RapidDesign_v1.3.0.Cracked.DX10.3.Rio

    1 下载 https t00y com file tempdir A2NSZVRiXTRSZAZpVGBRLg4 V2IBNw47XTBQMFYzUGVXM1R BTZaNFZkUDRQaFczUmABMAIwDTg 2 解压 D rioc
  • Discuz!X模板代码解析--Header(头文件)

    Discuz X模板代码解析 Header 头文件 header html这个文件存储于common文件下 这个大家应该不陌生吧 我是每个DIV为小节来讲 头部的核心div我就不加if语句来讲解 因为代码太多了 我会在最下面给大家总结一下