head.htm 是织梦后台管理界面的“头部”模板文件,它定义了整个后台页面的顶部结构,包含了网站标题、CSS样式表、JavaScript脚本、导航菜单、用户信息等核心元素,理解这个文件对于自定义织梦后台界面、进行二次开发至关重要。

(图片来源网络,侵删)
文件位置
head.htm 文件通常位于织梦后台模板目录下:
/dede/templets/
dede 是织梦后台的默认目录名,如果你的后台目录被修改过,请相应调整路径。
head.htm 的主要作用
- 引入资源:加载后台界面所需的CSS样式文件和JavaScript脚本库,确保页面布局和功能正常。
- 定义页面结构:构建了后台页面的“外壳”,包括顶部的Logo、导航栏、用户信息栏和底部的版权信息。
- 提供全局变量:通过JavaScript向页面提供当前登录用户、系统路径等全局信息,供其他JS脚本调用。
- 实现交互功能:包含了顶部菜单的折叠/展开、全屏、退出登录等功能的实现代码。
head.htm 文件结构详解
下面是一个典型的织梦 head.htm 文件内容,并附上逐行/逐块的注释说明。

(图片来源网络,侵删)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $cfg_soft_lang; ?>"><?php echo $cfg_webname; ?> - 织梦内容管理系统</title>
<meta name="author" content="CmsWing">
<meta name="copyright" content="CmsWing">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
<!-- 引入核心CSS样式 -->
<link href="templets/style/base.css" rel="stylesheet" type="text/css" />
<link href="templets/style/style<?php echo $dfstyle; ?>.css" rel="stylesheet" type="text/css" />
<!-- 如果开启了小屏设备适配,会引入额外的CSS -->
<?php if($cfg_isadmin == 'Y') { ?>
<link href="templets/style/<?php echo $dfstyle; ?>/<?php echo $dfstyle; ?>_skin.css" rel="stylesheet" type="text/css" />
<?php } ?>
<!-- 引入图标字体 -->
<link href="templets/font/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
<!-- 引入jQuery库 -->
<script language="javascript" src="js/main.js"></script>
<script language="javascript" src="js/jquery.min.js"></script>
<script language="javascript" src="js/bootstrap.min.js"></script>
<script language="javascript" src="js/dedeajax2.js"></script>
<script language="javascript" src="js/modevent.js"></script>
<script language="javascript" src="js/leftmenu.js"></script>
<script language="javascript" src="js/jquery-ui.min.js"></script>
<script language="javascript" src="js/bootstrap-paginator.min.js"></script>
<script language="javascript" src="js/jquery.cookie.js"></script>
<script language="javascript" src="js/jquery.fancybox-1.3.4.pack.js"></script>
<script language="javascript" src="js/global.js"></script>
<script language="javascript" src="js/ueditor/third-party/webuploader/webuploader.min.js"></script>
<script language="javascript" src="js/ueditor/ueditor.config.js"></script>
<script language="javascript" src="js/ueditor/ueditor.all.min.js"></script>
<script language="javascript" src="js/ueditor/lang/zh-cn/zh-cn.js"></script>
<!-- 定义一些关键的JavaScript全局变量 -->
<script type="text/javascript">
// 后台相对路径
var DEDEROOT = "<?php echo $cfg_cmspath; ?>";
// 管理员用户名
var adminID = "<?php echo $cuserLogin->getUserID(); ?>";
// 管理员登录名
var adminUserName = "<?php echo $cuserLogin->getUserName(); ?>";
// 管理员昵称
var adminNickName = "<?php echo $cuserLogin->getNickName(); ?>";
// 当前菜单ID,用于高亮显示
var menuid = "<?php echo $menuid; ?>";
// 是否为超级管理员
var g_isadmin = "<?php echo $cuserLogin->getAdminChannel(); ?>";
</script>
</head>
<body class="admincl-body">
<!-- 顶部导航栏 -->
<div class="admincl-topnav">
<div class="topnav-left">
<div class="topnav-logo">
<a href="index.php"><img src="templets/images/logo.png" alt="织梦管理系统"></a>
</div>
<div class="topnav-title">
<h2><?php echo $cfg_webname; ?></h2>
<p>欢迎您,<?php echo $cuserLogin->getNickName(); ?></p>
</div>
</div>
<div class="topnav-right">
<ul class="topnav-list">
<li>
<a href="javascript:;" class="fullscreen-btn"><i class="fa fa-arrows-alt"></i></a>
</li>
<li>
<a href="javascript:;" class="toggle-btn"><i class="fa fa-bars"></i></a>
</li>
<li class="dropdown">
<a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
<img src="templets/images/admin.jpg" alt="管理员头像" class="admin-avatar">
<?php echo $cuserLogin->getNickName(); ?>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="sys_admin_user_edit.php?userid=<?php echo $cuserLogin->getUserID(); ?>"><i class="fa fa-user"></i> 修改资料</a></li>
<li><a href="sys_admin_pwd.php"><i class="fa fa-key"></i> 修改密码</a></li>
<li class="divider"></li>
<li><a href="index_do.php?dopost=exit"><i class="fa fa-sign-out"></i> 退出登录</a></li>
</ul>
</li>
</ul>
</div>
</div>
<!-- 左侧菜单容器 -->
<div class="admincl-leftmenu" id="leftmenu">
<!-- 左侧菜单内容将由JS动态加载 -->
<!-- -->
<!-- <div class="menu-box"> -->
<!-- <div class="menu-title"><i class="fa fa-home"></i> 常用操作</div> -->
<!-- <div class="menu-content"> -->
<!-- <ul> -->
<!-- <li><a href="javascript:;" data-menu="main"><i class="fa fa-home"></i> 后台首页</a></li> -->
<!-- ... -->
<!-- </ul> -->
<!-- </div> -->
<!-- </div> -->
</div>
<!-- 主要内容区域 -->
<div class="admincl-main" id="admincl-main">
<!-- 这里将由各个具体的功能页面(如 content_list.php)填充内容 -->
<!-- 通常包含一个 iframe -->
<iframe id="mainiframe" name="mainiframe" frameborder="0" src="index.php?dopost=main"></iframe>
</div>
<!-- 页脚版权信息 -->
<div class="admincl-footer">
<p>Powered by <a href="http://www.dedecms.com" target="_blank">DedeCMS <?php echo $cfg_version; ?></a> © 2004-2025 <a href="http://www.desdev.cn" target="_blank">DesDev Inc.</a></p>
</div>
<!-- 引入用于加载左侧菜单的JS -->
<script language="javascript" src="js/load_leftmenu.js"></script>
</body>
</html>
关键代码块解析
<head> 标签内的内容
- 字符集:
<meta http-equiv="Content-Type" ...>定义了页面编码,$cfg_soft_lang变量会根据你的安装语言(如utf-8或gbk)自动填充。 - :
<title>标签中的内容由$cfg_webname(网站名称)和固定文本组成。 - CSS引入:
base.css:基础样式,定义了布局、颜色、字体等。style<?php echo $dfstyle; ?>.css:主题样式。$dfstyle变量控制当前后台使用的主题(如default,blue等),你可以通过修改这个变量来切换主题。font-awesome/css/:一个流行的图标字体库,为后台提供各种图标。
- JavaScript引入:
jquery.min.js:核心的JavaScript库,用于DOM操作和事件处理。bootstrap.min.js:Bootstrap框架的JS组件,用于实现下拉菜单、模态框等交互效果。dedeajax2.js:织梦自定义的AJAX库,用于无刷新操作。leftmenu.js和load_leftmenu.js:专门用于控制和加载左侧菜单的脚本。ueditor/目录下的文件:百度编辑器相关的JS和CSS,用于内容编辑。
- 全局JavaScript变量:
DEDEROOT,adminID,adminUserName等变量非常重要,它们将当前环境的必要信息暴露给前端的JS,使得JS脚本可以与后端进行正确的交互。
<body> 标签内的内容
- 顶部导航栏 (
.admincl-topnav):- 包含网站Logo、标题、欢迎语。
- 右侧有全屏、菜单折叠、用户信息和下拉菜单(修改资料、修改密码、退出登录)的功能按钮。
- 左侧菜单 (
.admincl-leftmenu):- 这个
<div>容器本身是空的,它的内容是通过load_leftmenu.js脚本动态加载的。 - 脚本会根据当前登录用户的权限,从数据库中读取菜单数据,然后生成HTML结构填充到这里,这就是为什么不同权限的用户看到的菜单不同的原因。
- 这个
- 区 (
.admincl-main):- 包含一个
<iframe>,其name属性为mainiframe。 - 后台绝大多数功能页面(如文章列表、添加文章等)都是在这个
iframe中打开的,这样做的好处是,切换页面时只需要刷新iframe,而整个后台的头部和左侧菜单保持不变,提升了用户体验。
- 包含一个
- 页脚 (
.admincl-footer):显示版权信息和织梦版本号。
如何自定义 head.htm
-
修改网站标题和Logo:
- 修改
<title>标签中的文本。 - 替换
<img src="templets/images/logo.png">中的图片路径为你自己的Logo图片。
- 修改
-
更换后台主题:
- 在织梦后台的“系统” -> “系统基本参数” -> “核心设置”中,可以找到“默认后台风格”选项,选择一个你喜欢的主题即可,这会改变
$dfstyle变量的值。
- 在织梦后台的“系统” -> “系统基本参数” -> “核心设置”中,可以找到“默认后台风格”选项,选择一个你喜欢的主题即可,这会改变
-
添加自定义CSS或JS:
- 在
<head>标签内,找到引入CSS和JS的地方,添加你自己的<link>和<script>标签即可,如果你想添加一个自定义的样式文件,可以这样做:<link href="your-custom-style.css" rel="stylesheet" type="text/css" />
- 在
-
修改顶部菜单项:
- 修改顶部右侧
<ul class="topnav-list">中的<li>元素即可,如果你想添加一个新链接,可以增加一个<li>
- 修改顶部右侧
-
隐藏或修改页脚:
- 直接编辑
<div class="admincl-footer">中的内容。
- 直接编辑
通过深入理解 head.htm,你就可以对织梦管理平台进行更深层次的个性化定制和功能扩展。
