在 DedeCMS 的传统生态中,制作手机版主要有两种方式:

(图片来源网络,侵删)
- WAP独立站点 (传统方式):创建一个
m/目录,制作一套专门的手机模板,这种方式简单直接,但存在维护两套代码、内容同步麻烦等问题。 - 响应式模板 (现代推荐):制作一套模板,通过 CSS3 的媒体查询技术,让同一套模板在不同尺寸的设备(PC、平板、手机)上自动调整布局,这是目前的主流和最佳实践。
由于您明确提到了 HTML5,而 HTML5 本身就与响应式设计理念紧密相关,因此我将重点介绍 如何创建一个基于 HTML5 和响应式设计的手机版模板,这种方法不仅能完美适配手机,还能兼顾其他设备,是未来的方向。
核心思路
我们不会创建 m/ 目录,而是直接修改或创建一个全新的、响应式的主题,DedeCMS 的模板引擎非常灵活,完全支持这种模式。
工作流程:
- 安装和配置:确保 DedeCMS 版本较新(建议 DedeCMS 5.7+),并安装好默认模板。
- 创建新模板目录:在
/templets/目录下创建一个新的文件夹,responsive/。 - 修改模板文件:将默认模板(如
default/下的index.htm,article_article.htm等)复制到responsive/目录下。 - HTML5 语义化重构:修改模板的 HTML 结构,使用
<header>,<nav>,<main>,<article>,<section>,<footer>,<aside>等语义化标签。 - 添加响应式 CSS:在模板中引入一个 CSS 文件,使用媒体查询
@media来定义不同屏幕尺寸下的样式。 - 设置默认模板:在 DedeCMS 后台,将新模板
responsive/设置为默认风格。 - 移动端适配细节:添加视口
meta标签、处理图片、优化菜单等。
详细步骤
第 1 步:安装与基础设置
- 安装 DedeCMS:确保您已经成功安装了 DedeCMS。
- 后台设置:登录 DedeCMS 后台。
- 进入 系统 -> 系统基本参数 -> 核心设置。
- 找到 “是否开启多站点支持”,建议开启,但非必须。
- 找到 “首页默认文件”,确保是
index.php。 - 找到 “模板引擎风格标签”,可以保持默认
{dede:global.cfg_templeturl/}。
第 2 步:创建新模板目录
在 /dede/templets/ 目录下,创建一个新文件夹,命名为 responsive。

(图片来源网络,侵删)
/dede/
/templets/
/default/ (默认模板)
/responsive/ (我们新创建的响应式模板)
第 3 步:HTML5 语义化重构 (以 index.htm 为例)
这是最核心的一步,打开 /templets/default/index.htm,将其另存为 /templets/responsive/index.htm,然后进行修改。
原始结构 (简化版):
<div class="header">
<div class="top">...</div>
<div class="nav">...</div>
</div>
<div class="main">
{dede:arclist titlelen='42' row='10'}
<div class="list">
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<p>[field:description/]...</p>
</div>
{/dede:arclist}
</div>
<div class="footer">...</div>
HTML5 语义化重构后:
<!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>
<!-- 引入响应式CSS文件 -->
<link rel="stylesheet" href="{dede:global.cfg_templeturl/}/style.css">
{dede:global.cfg_basehead/}
</head>
<body>
<header class="site-header">
<div class="top-bar">
<!-- 网站Logo或Slogan -->
<a href="{dede:global.cfg_cmsurl/}" class="logo">{dede:global.cfg_webname/}</a>
<!-- 移动端菜单按钮 -->
<button class="menu-toggle" id="menu-toggle">☰</button>
</div>
<nav class="main-navigation" id="main-nav">
<!-- 使用 DedeCMS 的全局标签调用主导航 -->
{dede:channel type='top' currentstyle="<a href='~typelink~' class='current'>~typename~</a>"}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
</nav>
</header>
<main class="site-main">
<section class="featured-posts">
<!-- 调用推荐文章等 -->
</section>
<section class="latest-posts">
{dede:arclist titlelen='42' row='10'}
<article class="post-item">
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<div class="post-meta">
<span>作者:[field:writer/]</span>
<span>时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</div>
<p class="post-excerpt">[field:description/]...</p>
</article>
{/dede:arclist}
</section>
</main>
<footer class="site-footer">
<p>© {dede:global.cfg_webname/} - {dede:global.cfg_powerby/}</p>
</footer>
<!-- 引入 JavaScript,用于移动端菜单的交互 -->
<script src="{dede:global.cfg_templeturl/}/script.js"></script>
</body>
</html>
关键点说明:
<!DOCTYPE html>和<meta charset="UTF-8">:HTML5 标准开头。<meta name="viewport" content="width=device-width, initial-scale=1.0">:移动端适配的基石!它告诉浏览器如何控制页面的尺寸和缩放。<header>,<nav>,<main>,<article>,<section>,<footer>:这些标签让页面结构更清晰,对 SEO 和可访问性都有好处。
第 4 步:编写响应式 CSS
在 /templets/responsive/ 目录下创建 style.css 文件。
/* 基础样式 (PC端默认) */
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
}
.site-header {
background: #333;
color: #fff;
padding: 10px 20px;
}
.main-navigation a {
color: #fff;
text-decoration: none;
margin-right: 15px;
}
.post-item {
border-bottom: 1px solid #eee;
padding: 20px;
margin-bottom: 20px;
}
.post-item h2 a {
color: #333;
text-decoration: none;
}
.post-item h2 a:hover {
color: #0066cc;
}
.site-footer {
background: #333;
color: #fff;
text-align: center;
padding: 20px;
position: absolute; /* 或者 fixed,视需求而定 */
bottom: 0;
width: 100%;
}
/* 响应式设计:媒体查询 */
/* 当屏幕宽度小于 768px 时 (平板和手机) */
@media (max-width: 768px) {
/* 隐藏桌面导航菜单 */
.main-navigation {
display: none;
position: absolute;
top: 100%; /* 定位在 header 下方 */
left: 0;
right: 0;
background: #333;
flex-direction: column; /* 改为垂直排列 */
padding: 10px;
}
/* 默认显示移动端菜单按钮 */
.menu-toggle {
display: block; /* 默认隐藏,点击后显示菜单 */
background: none;
border: none;
color: #fff;
font-size: 1.5em;
cursor: pointer;
}
/* 当菜单被激活时 (通过 JS 切换一个类) */
.main-navigation.active {
display: flex; /* 显示菜单 */
}
/* 调整文章列表在手机上的样式 */
.post-item {
padding: 15px;
}
.post-item h2 {
font-size: 1.2em;
}
}
/* 当屏幕宽度大于 768px 时 (PC端) */
@media (min-width: 769px) {
/* 在 PC 端,隐藏菜单按钮 */
.menu-toggle {
display: none;
}
/* 确保 PC 端导航是水平显示的 */
.main-navigation {
display: flex !important; /* 强制显示 */
}
}
第 5 步:添加 JavaScript 交互
在 /templets/responsive/ 目录下创建 script.js 文件,用于控制移动端菜单的显示和隐藏。
document.addEventListener('DOMContentLoaded', function() {
const menuToggle = document.getElementById('menu-toggle');
const mainNav = document.getElementById('main-nav');
if (menuToggle && mainNav) {
menuToggle.addEventListener('click', function() {
// 切换 'active' 类
mainNav.classList.toggle('active');
});
}
});
第 6 步:设置默认模板
- 登录 DedeCMS 后台。
- 进入 系统 -> 系统基本参数 -> 核心设置。
- 找到 “主页模板风格目录”,将其值修改为
responsive。 - 点击“保存更改”。
您访问网站首页,就已经是响应式的 HTML5 版本了。
重要补充:移动端优化细节
图片自适应
在文章列表页,图片可能会撑破容器,在 CSS 中添加:
/* 在 style.css 中 */
img {
max-width: 100%; /* 图片最大宽度为父容器宽度 */
height: auto; /* 高度自动调整,保持比例 */
}
处理文章内容页 (article_article.htm)
页也需要同样的 HTML5 和响应式改造,特别注意:页的图片也要使用 max-width: 100%。
- 中有
<table>表格,在移动端会很难看,可以添加 CSS 让表格在小屏幕上横向滚动:@media (max-width: 768px) { table { display: block; overflow-x: auto; white-space: nowrap; } }
触摸优化
- 按钮区域:确保可点击的按钮(如“阅读全文”、“点赞”等)有足够大的点击区域,至少
44px x 44px。 - 避免使用
hover:在移动端没有鼠标悬停效果,复杂的hover效果应替换为active或通过点击触发。
性能优化
- 压缩 CSS 和 JS:上线前,将
style.css和script.js文件进行压缩,减少文件体积,加快加载速度。 - 使用 CDN:如果网站流量较大,可以考虑使用 CDN 来托管静态资源。
通过以上步骤,您就为 DedeCMS 创建了一个现代化的、基于 HTML5 标准的响应式手机版网站,这种方法的优势在于:
- 一套代码,多端适配:无需维护
m/站点,大大降低了开发和维护成本。 - SEO 友好:只有一个 URL,权重集中,搜索引擎更容易理解和收录。
- 用户体验好:无论用户用手机、平板还是电脑访问,都能获得最佳的浏览体验。
- 技术前沿:符合当前 Web 开发的最佳实践。
