DedeCMS(织梦内容管理系统)本身是一个经典的 PHP CMS,但其模板系统非常灵活,完全可以支持现代化的 HTML5 + CSS3 + JavaScript 技术栈,制作一个 HTML5 模板,核心在于修改模板文件中的 HTML 标签和结构,并引入相应的 CSS 和 JS。

下面我将从准备工作、核心修改步骤、一个简单示例、以及推荐资源四个方面,为你提供一个完整的指南。
准备工作
在开始之前,请确保你已经:
- 本地环境:搭建好 PHP + MySQL 环境(如 XAMPP, WampServer, Docker 等)。
- DedeCMS 程序:下载并安装好 DedeCMS 程序到你的本地环境,建议使用一个稳定的版本,如 DedeCMS V5.7 或 V57_SP1。
- 代码编辑器:准备一个专业的代码编辑器,如 VS Code、Sublime Text 或 PhpStorm,它们能提供语法高亮和代码提示。
- 基础了解:
- HTML5:了解新的语义化标签,如
<header>,<nav>,<main>,<article>,<section>,<aside>,<footer>等。 - CSS3:了解选择器、弹性布局、媒体查询等。
- DedeCMS 模板机制:了解 DedeCMS 的模板标签,如
{dede:field.title/},{dede:arclist row='10' titlelen='30'}等。
- HTML5:了解新的语义化标签,如
核心修改步骤
一个典型的 DedeCMS 模板改造,主要涉及以下几个文件:
index.html(首页模板)article_article.htm(文章内容页模板)list_artile.htm(文章列表页模板)head.htm(公共头部文件)footer.htm(公共底部文件)
步骤 1:创建并设置 HTML5 文档结构
这是最关键的一步,你需要将模板文件的开头和结尾修改为符合 HTML5 规范的结构。

以 head.htm 为例:
旧的 XHTML 结构 (可能类似于这样):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={dede:global.cfg_soft_lang/}" />{dede:field.title/}_{dede:global.cfg_webname/}</title>
<meta name="keywords" content="{dede:field.keywords/}" />
<meta name="description" content="{dede:field.description function='html2text(@me)'/}" />
<link rel="stylesheet" href="/templets/default/style/dedecms.css" type="text/css" />
</head>
<body>
新的 HTML5 结构 (推荐):
<!DOCTYPE html>
<html lang="{dede:global.cfg_langcode/}">
<head>
<!-- 使用 meta charset 标签,更简洁 -->
<meta charset="{dede:global.cfg_soft_lang/}">
<!-- 视口设置,对移动端友好,非常重要! -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{dede:field.title/}_{dede:global.cfg_webname/}</title>
<!-- SEO 优化 -->
<meta name="keywords" content="{dede:field.keywords/}">
<meta name="description" content="{dede:field.description function='html2text(@me)'/}">
<!-- 引入 CSS 文件,建议使用相对路径 -->
<link rel="stylesheet" href="/templets/你的模板名称/css/style.css">
<!-- 可选:引入图标库,如 Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<!-- 可选:预加载关键资源 -->
<link rel="preload" href="/templets/你的模板名称/css/style.css" as="style">
</head>
<body>
修改要点说明:

<!DOCTYPE html>:HTML5 的标准声明,简单直接。<html lang="...">:指定网页的语言,有助于搜索引擎理解。{dede:global.cfg_langcode/}通常会输出zh-CN。<meta charset="...">:定义字符编码,替代了旧的http-equiv="Content-Type"。<meta name="viewport" ...>:响应式设计的基石,告诉浏览器如何控制页面的尺寸和缩放。
步骤 2:使用语义化标签重构页面结构
将原来用 <div> 加 class 名来定义的区块,替换为 HTML5 的语义化标签,这不仅能提升 SEO,还能让代码更易读、更易维护。
以 index.html 为例:
旧的 Div 结构:
<div class="header">
<div class="logo">...</div>
<div class="nav">...</div>
</div>
<div class="main">
<div class="content">...</div>
<div class="sidebar">...</div>
</div>
<div class="footer">...</div>
新的 HTML5 语义化结构:
<header class="site-header">
<div class="logo">{dede:global.cfg_webname/}</div>
<!-- 调用导航栏标签 -->
{dede:channelartlist type='top' row='1'}
<nav class="main-nav">
{dede:channel type='top' row='8' currentstyle="<li class='active'><a href='~typelink~'>~typename~</a></li>"}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
</nav>
{/dede:channelartlist}
</header>
<main class="site-main">
<section class="content-area">
<!-- 调用文章列表 -->
{dede:arclist row='5' titlelen='30'}
<article class="post">
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<div class="post-meta">[field:pubdate function="MyDate('Y-m-d',@me)"/]</div>
<p>[field:description/]...</p>
</article>
{/dede:arclist}
</section>
<aside class="widget-area">
<!-- 调用侧边栏模块 -->
{dede:include filename="side.htm"/}
</aside>
</main>
<footer class="site-footer">
<p>Copyright © {dede:global.cfg_webname/} - {dede:php}echo date('Y');{/dede:php}</p>
</footer>
常用语义化标签:
<header>:页面或区域的头部,通常包含 logo、导航等。<nav>:导航链接的区域。<main>:页面的主要内容,一个页面中只应有一个<main>。<article>:独立的、完整的内容块,如一篇文章、一个帖子。<section>:文档中的一个区域,通常带有标题。<article>是一种特殊的<section>。<aside>:侧边栏或与主要内容相关但独立的内容,如广告、相关链接。<footer>:页面或区域的底部,通常包含版权信息、联系方式等。
步骤 3:引入和编写 CSS/JS
- 创建 CSS 文件:在模板目录下新建一个
css文件夹,并创建style.css文件。 - 修改模板中的 CSS 引用:将
head.htm中的 CSS 路径指向你的新 CSS 文件。 - 编写 CSS:使用 CSS3 来美化你的 HTML5 结构,重点使用 Flexbox 或 Grid 布局,并结合 媒体查询 实现响应式设计。
示例 CSS (style.css) 片段:
/* 使用 Flexbox 布局主容器 */
.site-main {
display: flex;
gap: 20px; /* 元素间距 */
margin-top: 20px;
}
.content-area {
flex: 3; /* 内容区域占 3 份 */
}
.widget-area {
flex: 1; /* 侧边栏占 1 份 */
}
/* 响应式设计:当屏幕宽度小于 768px 时 */
@media (max-width: 768px) {
.site-main {
flex-direction: column; /* 改为垂直排列 */
}
.content-area, .widget-area {
flex: 100%; /* 宽度都占满 */
}
}
/* 美化文章列表 */
.post {
border-bottom: 1px solid #eee;
padding-bottom: 15px;
margin-bottom: 15px;
}
.post h2 a {
color: #333;
text-decoration: none;
}
.post h2 a:hover {
color: #0066cc;
}
步骤 4:后台设置与更新
- 选择模板:登录 DedeCMS 后台,进入【系统】-> 【系统基本参数】-> 核心设置,在 “默认模板风格” 处选择你新建的模板文件夹名称。
- 生成 HTML:模板修改后,需要重新生成页面才能看到效果,进入【生成】-> HTML更新,你可以选择更新首页、栏目页或所有文档。
- 清理缓存:如果页面显示异常,可以尝试在后台【系统】-> 系统设置-> 性能选项中清理一下模板缓存。
一个简单的模板文件示例
这是一个极简的 index.html 示例,展示了如何整合 HTML5、DedeCMS 标签和 CSS 链接。
templets/我的模板名称/index.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">{dede:global.cfg_webname/}</title>
<link rel="stylesheet" href="/templets/我的模板名称/css/style.css">
</head>
<body>
<header class="site-header">
<h1>{dede:global.cfg_webname/}</h1>
<nav>
{dede:channel type='top' row='8'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
</nav>
</header>
<main class="container">
<section class="content">
<h2>最新文章</h2>
{dede:arclist row='10' titlelen='40'}
<article class="excerpt">
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<p class="meta">发布于:[field:pubdate function="MyDate('Y-m-d',@me)"]</p>
<p>[field:description/]...</p>
</article>
{/dede:arclist}
</section>
</main>
<footer class="site-footer">
<p>© {dede:php}echo date('Y');{/dede:php} {dede:global.cfg_webname/}</p>
</footer>
</body>
</html>
推荐资源与进阶
-
DedeCMS 官方论坛/社区:http://bbs.dedecms.com/
这里可以找到大量现成的模板、插件和技术求助,搜索 "HTML5 模板" 或 "响应式模板" 会有很多发现。
-
HTML5 语义化参考:
-
CSS 布局教程:
- Flexbox:https://css-tricks.com/snippets/css/a-guide-to-flexbox/ (英文,但非常经典)
- Grid:https://css-tricks.com/snippets/css/css-grid/ (英文)
- 国内搜索 "CSS Flexbox 教程" 或 "CSS Grid 教程" 也能找到很多中文资源。
-
现成的 HTML5 模板框架:
如果你不想从零开始,可以基于一些成熟的 HTML5 前端框架(如 Bootstrap, Tailwind CSS)来制作 DedeCMS 模板,这些框架提供了大量的响应式组件,能极大提高开发效率,网上也有不少基于这些框架的 DedeCMS 模板可供学习和使用。
将 DedeCMS 升级到 HTML5 模板是一个“换汤不换药”的过程,核心在于前端技术的现代化改造,关键步骤如下:
- 修改文档类型:从 XHTML 改为 HTML5。
- 使用语义化标签:用
<header>,<nav>,<main>等替换无意义的<div>。 - 引入视口标签:为移动端适配做准备。
- 编写现代 CSS:使用 Flexbox/Grid 和媒体查询实现响应式布局。
- 后台生成更新:让修改生效。
通过以上步骤,你就可以将一个老旧的 DedeCMS 网站改造成一个符合现代标准、美观且对移动端友好的网站。
