DedeCMS 提供了两种主要的手机静态化方案:

(图片来源网络,侵删)
-
手机端独立站点(推荐)
- 原理:为手机端创建一个完全独立的目录(如
/m/),将手机端模板和生成的静态HTML文件都放在这个目录下,当用户通过手机访问时,服务器会自动重定向到/m/目录下的页面。 - 优点:手机端和PC端彻底分离,可以完全自定义手机端的模板和内容,非常灵活,符合现代移动优先的开发理念。
- 缺点:需要维护两套模板和内容,如果内容同步,需要额外配置。
- 原理:为手机端创建一个完全独立的目录(如
-
PC与手机共用同一套数据,但生成独立静态页
- 原理:不创建独立的
/m/目录,而是在生成静态页时,为手机端生成一套独立的HTML文件(存放在/mobile/目录或与PC端同目录),通过判断用户设备类型来显示不同的静态页面。 - 优点:数据模型可以共用,减少数据同步的麻烦。
- 缺点:结构相对复杂,不如方案一清晰,旧版Dede的此功能可能不够完善。
- 原理:不创建独立的
目前最主流、最稳定、最推荐的是方案一。 下面我们以 方案一 为核心,进行详细的步骤说明。
手机端独立站点静态化(完整教程)
第一步:准备工作
- 安装DedeCMS:确保你的服务器已经成功安装并运行了 DedeCMS。
- 创建手机目录:通过FTP或服务器文件管理器,在网站根目录下创建一个名为
m的文件夹。 - 目录权限:确保
m目录具有可写入权限,因为静态化后的文件需要保存在这里。
第二步:设置并生成手机端栏目
这是最关键的一步,目的是让DedeCMS知道哪些栏目是手机专用的,并为其生成静态页面。

(图片来源网络,侵删)
-
进入栏目管理:登录DedeCMS后台,点击「核心」->「栏目管理」。
-
添加手机栏目:
- 点击「增加一个栏目」。
- 栏目名称:填写手机端的栏目名称,手机首页”、“手机新闻”。
- 栏目目录:这是重点,填写
m,这表示该栏目下的所有页面都将生成到/m/目录下。 - 栏目属性:选择“最终列表栏目”或“封面栏目”。
- :可以填写手机端首页的简介等内容。
- 选择模板:这是另一个重点,为这个手机栏目选择一个手机端专用的模板文件(
index_m.htm)。 - 生成选项:勾选「生成HTML」,并选择「仅动态浏览时生成」或「更新HTML」。
- 点击「确定」保存。
-
批量设置栏目:
- 如果你希望多个栏目都在手机端显示,你可以将这些栏目的“栏目目录”都设置为
m,或者创建一个顶级手机栏目,其目录为m,然后将其他手机子栏目挂载到它下面。 - 对于PC端已有的栏目,你可以复制一份,将其“栏目目录”改为
m,并选择手机模板,这样就不用重新录入内容了。
- 如果你希望多个栏目都在手机端显示,你可以将这些栏目的“栏目目录”都设置为
第三步:制作手机端模板
- 创建模板文件:在 DedeCMS 的模板目录(通常是
/templets/default/)下,创建一套手机端模板文件。index_m.htm(手机首页模板)list_m.htm(手机列表页模板)article_m.htm(手机文章页模板)
- 模板语法:手机端模板和PC端模板一样,使用 DedeCMS 的模板标签语法,如
{dede:arclist}、{dede:field}等。 - 模板样式:在手机端模板中,引入移动端适配的CSS文件,通常使用
<meta name="viewport" ...>标签来控制页面缩放。- 示例
head区域:<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>{dede:global.cfg_webname/}</title> <link rel="stylesheet" href="/m/css/style.css"> <!-- 引入手机端CSS --> </head>
- 示例
- 图片路径:确保模板中的图片、CSS、JS等资源路径是相对于
/m/目录的,或者使用绝对路径(以 开头)。
第四步:生成手机端静态页面
模板和栏目都设置好后,就可以生成静态HTML文件了。
-
生成栏目页面:
- 在后台「栏目管理」中,找到你刚才创建的、目录为
m的手机栏目。 - 点击右侧的「更新HTML」。
- 在弹出的页面中,选择「更新栏目HTML」或「更新栏目目录」,然后点击「执行」。
- DedeCMS 会自动根据该栏目的模板,生成对应的HTML文件,并存放到
/m/目录下。
- 在后台「栏目管理」中,找到你刚才创建的、目录为
-
生成文章页面:
- 管理」->「文档列表」。
- 在顶部找到“选择栏目”,选择你的手机端栏目。
- 勾选该栏目下所有需要生成静态页的文章。
- 点击顶部的「生成HTML」->「一键生成HTML」。
- 在弹出的选项中,选择「仅更新选中文档的HTML」,然后点击「开始执行」。
- 系统会遍历所有选中的文章,使用
article_m.htm模板为每一篇文章生成一个独立的HTML文件,并存放在/m/目录下。
-
生成首页:
- 进入「首页」->「主页管理」。
- 找到你的手机首页栏目(目录为
m的那个)。 - 点击「更新主页HTML」。
- 系统会使用
index_m.htm模板生成/m/index.html文件。
完成以上步骤后,你的手机静态化就基本成功了! 当你用手机访问 http://你的域名.com/m/ 时,看到的就是静态化的HTML页面,加载速度会非常快。
第五步:设置手机自动跳转(可选但推荐)
为了让用户在手机上访问PC端网址时,能自动跳转到手机版,你需要添加一段JS代码。
-
获取跳转代码:DedeCMS后台提供了一个自动生成跳转代码的工具。
- 进入「系统」->「系统基本参数」->「核心设置」。
- 找到「手机网站访问地址」这一项,填入你的手机网站地址,
http://你的域名.com/m/。 - 保存设置。
- 进入「系统」->「其他选项」->「手机站点设置」。
- 在这里可以找到“自动跳转手机网站的JS代码”,复制这段代码。
-
添加到PC端模板:
- 将复制的JS代码粘贴到你的PC端首页模板(
index.htm)的<head>和</head>标签之间。 - 这样,当手机用户访问PC端首页时,会自动检测设备并跳转到
/m/。
- 将复制的JS代码粘贴到你的PC端首页模板(
常见问题与注意事项
-
问:生成静态页面时提示“没有选择栏目或文档”?
答:请确保你在生成列表页或文章页时,已经正确地在顶部选择了对应的手机端栏目。
-
问:手机页面样式错乱,图片过大?
- 答:这是模板问题,请检查你的手机端模板
index_m.htm等文件,确保:- 在
<head>中包含了<meta name="viewport" ...>- CSS 文件已经适配了移动端,使用了
max-width: 100%等样式来控制图片大小。- 图片路径正确。
- CSS 文件已经适配了移动端,使用了
- 在
- 答:这是模板问题,请检查你的手机端模板
-
问:更新内容后,静态页面没有自动更新?
答:DedeCMS 默认不会在发布内容时自动更新所有相关静态页,你需要手动去「文档列表」或「主页管理」中执行“更新HTML”操作,如果希望自动化,可以结合DedeCMS的“发布任务计划”或使用第三方工具。
-
问:PC端和手机端内容如何同步?
- 答:在方案一中,最简单的方式是使用同一套数据,即,在添加文章时,这篇文章同时属于PC端的某个栏目和手机端的某个栏目(这两个栏目的目录不同,但都指向同一篇文章ID),这样,你只需要录入一次内容,生成PC端静态页时用PC模板,生成手机端静态页时用手机模板即可。
| 步骤 | 核心操作 | 目的 |
|---|---|---|
| 1 | 创建 /m 目录 |
准备手机端文件存放位置 |
| 2 | 设置手机栏目,目录设为 m |
告诉DedeCMS哪些页面属于手机端 |
| 3 | 制作手机端模板 (*_m.htm) |
定义手机页面的HTML结构和样式 |
| 4 | 生成栏目/文章/首页HTML | 将动态页面转换为静态HTML文件存入 /m |
| 5 | (可选)添加JS跳转代码 | 实现PC/手机自动适配 |
遵循以上步骤,你就可以成功地为你的 DedeCMS 网站实现高效、稳定的手机静态化。
