“模板管理程序”不仅仅是一个简单的文件列表,它是一个集文件管理、代码编辑、模板引擎调用于一体的综合工具。

(图片来源网络,侵删)
核心概念:在理解“模板管理”前,你需要知道什么?
在深入了解后台操作前,必须先理解 DedeCMS 的工作原理,否则模板管理会变得非常混乱。
-
模板 vs. HTML:
- 普通 HTML 网页:是静态的,内容写死在文件里。
- DedeCMS 模板:是带有特定标记的 HTML 文件,这些标记(如
{dede:arclist})是 DedeCMS 的模板引擎(php.lib.php)能够识别的指令,当用户访问网站时,DedeCMS 会读取模板文件,解析这些标记,并用数据库中的实际内容替换它们,最终生成一个完整的 HTML 页面返回给浏览器。
-
模板文件存放位置:
- 所有前台模板文件都存放在
/templets/目录下。 /templets/目录下通常会有一个默认的文件夹,default/,这就是默认模板。- 你可以创建自己的模板文件夹,
mytheme/,来制作和切换不同的网站风格。
- 所有前台模板文件都存放在
-
模板中的核心标记:
(图片来源网络,侵删){dede:include file='head.htm' /}:包含其他模板文件,如头部、底部,这是模块化开发的关键。{dede:arclist}:用于调用文章列表,是列表页的核心。{dede:field}:用于调用单个文档的字段,如标题 (title(body)、发布时间 (pubdate) 等,是内容页的核心。{dede:channel}:用于调用栏目列表。{dede:global}:用于调用全局变量,如网站名称 (cfg_webname)。
后台模板管理入口与主界面
-
登录后台:使用你的管理员账号登录 DedeCMS 后台。
-
找到入口:
- 在左侧菜单栏中,找到 【模板】 -> 【模板管理】。
- 或者,在某些版本中,可能直接是 【模板】 -> 【默认模板管理】,这两个入口功能基本一致,后者通常会直接定位到默认模板。
-
主界面解析: 进入模板管理后,你会看到一个文件列表界面,通常包含以下信息列:
- 模板名称:显示模板文件的名称,如
index.htm。 - 模板标识:这是非常重要的一个字段!它将模板文件和系统中的某个页面关联起来。
index.htm的模板标识通常是index,article_article.htm的是article_article,系统在生成页面时,就是根据这个标识来找到对应的模板文件的。 - 模板类型:如“首页”、“列表页”、“内容页”、“封面页”等。
- 默认:显示该模板是否是其类型下的默认模板。
- 禁用:可以禁用某个模板,使其不被系统调用。
- 操作:提供对模板文件的管理操作,如 [可视化] / [代码] / [设为默认] / [禁用] / [删除]。
- 模板名称:显示模板文件的名称,如
核心功能详解
模板编辑
这是最常用的功能,系统提供了两种编辑模式:
-
[代码] 编辑:
- 是什么:一个带语法高亮的代码编辑器(通常是 ACE Editor 或类似的),你可以在这里直接编写和修改 HTML、CSS、JavaScript 以及 DedeCMS 的模板标记。
- 何时使用:
- 从零开始制作一个全新的模板。
- 需要进行复杂的、精细化的代码调整。
- 修改 CSS 样式或 JavaScript 脚本。
- 优点:功能强大,自由度高。
- 缺点:需要具备一定的代码基础。
-
[可视化] 编辑:
- 是什么:一个所见即所得的编辑器,类似于一个简化的网页版 Dreamweaver,你可以在一个模拟的浏览器窗口中直接拖拽元素、修改文本样式。
- 何时使用:
- 快速调整布局、颜色、字体等。
- 不熟悉代码,希望更直观地操作。
- 进行简单的图文排版。
- 优点:直观易用,无需代码基础。
- 缺点:功能受限,对于复杂的模板标记和逻辑无法处理,有时生成的代码可能不够“干净”。
操作建议:对于大部分修改,可以先在 [可视化] 中进行宏观调整,然后切换到 [代码] 模式进行细节修正和优化。
模板更新 / 生成
这是 DedeCMS 模板流程中最关键的一步!
-
为什么需要更新?
- 你在后台修改了模板文件并保存。
- 你在后台添加、删除或修改了文章、栏目等数据。
- 这些修改并不会立即反映到你的网站上(因为访问者看到的是之前生成的静态 HTML 文件)。
- 你需要通过“生成”功能,让 DedeCMS 重新读取最新的模板和最新的数据,来生成新的 HTML 文件。
-
如何更新?
- 在模板管理列表页,找到你修改过的模板文件,点击其右侧的 [生成] 按钮。
- 更推荐在后台首页或 【生成】 菜单下进行批量生成。
- 一键更新网站:会更新所有设置了“使用动态页”的页面。
- 更新栏目HTML:重新生成所有栏目列表页。
- 更新文档HTML:重新生成所有文章内容页。
- 更新首页HTML:重新生成网站首页。
黄金法则:任何对模板文件的修改,最终都必须通过“生成”才能在前台看到效果。
设置默认模板
一个网站可以有多个模板风格,你可以为“产品中心”栏目制作一个 product_list.htm 模板,为“新闻资讯”制作一个 news_list.htm 模板。
- 如何设置?
- 在模板管理列表中,找到你想要设为默认的模板文件。
- 点击其右侧的 [设为默认] 按钮。
- 效果:
- 对于首页:设为默认后,网站访问首页时就会调用这个模板。
- 对于列表页/内容页:这个“默认”指的是该类型模板的全局默认,你还可以在 【模板】 -> 【模板默认文件设置】 中,为特定栏目指定不同的模板文件,实现“一个网站,多个风格”。
模板导入/导出
- 导出模板:可以将你制作好的整个模板文件夹打包下载,方便备份或分享给他人。
- 导入模板:可以上传别人制作好的模板包,快速更换网站风格。
- 操作位置:通常在 【模板】 -> 【导入/导出模板】 菜单下。
最佳实践与常见问题
最佳实践
- 修改前备份:在修改任何核心模板文件(如
index.htm,head.htm)之前,务必备份原始文件,可以重命名为index.htm.bak。 - 使用子模板:不要直接修改
/templets/default/里的默认模板,复制整个default文件夹,重命名(如mytheme),然后在后台 【系统】 -> 【系统基本参数】 -> 【核心设置】 中,将默认模板目录改为mytheme,这样,未来官方升级时,你的自定义模板不会被覆盖。 - 模块化开发:多使用
{dede:include}标签,将页头 (header.htm)、页脚 (footer.htm)、导航 (nav.htm) 等公共部分拆分成独立文件,这样修改时只需改一个文件,然后重新生成即可。 - 善用注释:在复杂的模板代码中,添加
<!-- 这是注释 -->来解释代码的功能,方便日后维护。
常见问题与解决
-
问题:我修改了模板文件,但前台网站没有变化。
- 原因:忘记点击 [生成] 按钮。
- 解决:去后台的 【生成】 菜单,重新生成对应的页面。
-
问题:生成页面时提示“模板文件不存在”或“无法打开模板文件”。
- 原因:
- 文件路径或文件名写错了。
- 模板文件的权限不足(通常是 755 或 644)。
- 模板文件编码格式不正确(应为
UTF-8无 BOM 格式)。
- 解决:检查文件名、路径,通过 FTP 修改文件权限,并用代码编辑器(如 VS Code, Sublime Text)将文件另存为
UTF-8无 BOM 格式。
- 原因:
-
问题:网站首页显示混乱,或者部分内容不显示。
- 原因:模板标记写错或遗漏。
{dede:arclist}标签缺少必要的属性(如typeid),或者{dede:field.title/}写成了{dede:field.titile/}(拼写错误)。 - 解决:切换到 [代码] 编辑模式,仔细检查模板标记的拼写和语法,可以参考官方默认模板的写法。
- 原因:模板标记写错或遗漏。
DedeCMS 的后台模板管理是一个功能强大但需要理解其底层逻辑的工具,核心流程就是:
制作/修改模板文件 -> 后台生成页面 -> 前台查看效果
掌握好这个流程,并遵循“备份、使用子模板、模块化”等最佳实践,你就能自如地管理和定制你的 DedeCMS 网站。
