核心概念:DedeCMS 模板系统
在深入具体之前,必须理解 DedeCMS 的模板引擎工作原理,它采用了 “模板标签” 的方式,将动态数据和静态的 HTML 页面结构分离开。

(图片来源网络,侵删)
- 模板文件:纯 HTML 文件,里面用
{dede:标签名 属性='值'}这样的标记来预留位置。 - DedeCMS 的核心指令,告诉系统在这里应该插入什么数据,比如文章标题、栏目列表、友情链接等。
- 解析过程:当用户访问一个页面时,DedeCMS 的 PHP 引擎会读取对应的模板文件,解析里面的标签,从数据库中获取数据,然后替换掉标签,最终生成一个完整的 HTML 页面发送给浏览器。
这种模式的优点是 “前后端分离”的雏形,设计师可以专注于 HTML/CSS 的美化,程序员则专注于 PHP 逻辑和数据处理,互不干扰。
门户资讯模板的文件结构
一个典型的 DedeCMS 门户资讯模板,文件通常存放在 /templets/ 目录下,并按不同模块分类,以下是一个标准的目录结构:
/templets/
├── default/ # 默认模板文件夹,存放所有默认风格
│ ├── index.html # 首页模板
│ ├── article_article.htm # 文章内容页模板
│ ├── list_channel.htm # 栏目列表页模板 (通用)
│ ├── list_1.htm # ID为1的栏目列表页模板 (特定栏目)
│ ├── search.htm # 搜索结果页模板
│ ├── head.htm # 公共头部文件 (包含Logo、导航等)
│ ├── footer.htm # 公共底部文件 (包含版权、友情链接等)
│ └── ... # 其他页面模板
└── your_custom_theme/ # 你自己创建的自定义主题文件夹
└── ... (同上)
关键文件说明:
-
index.html(首页模板)
(图片来源网络,侵删)- 作用:门户网站的脸面,通常包含最核心、最新的内容。
- 常见布局:顶部通栏广告、Logo与主导航、焦点新闻(大图轮播)、图文资讯、热门专题、栏目推荐、底部信息等。
- 常用标签:
{dede:arclist}(文章列表),{dede:channel}(栏目列表),{dede:flink}(友情链接),{dede:myad}(广告调用)。
-
list_channel.htm(栏目列表页模板)- 作用:用于显示一个栏目下的所有文章列表。
- 特点:通常比首页简单,包含栏目名称、文章列表、分页条等。
- DedeCMS 的灵活性:你可以为每个栏目单独设置一个列表页模板,新闻列表页用
list_news.htm,科技列表页用list_tech.htm,这样不同栏目可以有不同的样式,如果某个栏目没有专属模板,系统就会调用通用的list_channel.htm。
-
article_article.htm(文章内容页模板)- 作用:用于显示单篇文章的详细内容。
- 常见布局、发布时间、来源、作者、正文内容、相关文章、上一篇/下一篇链接、评论等。
- 常用标签:
{dede:field.title}(文章标题),{dede:field.body}(文章正文),{dede:pre next=''/}(上一篇/下一篇)。
-
head.htm和footer.htm(公共模板文件)- 作用:为了提高效率和便于维护,将网站中重复出现的部分(如头部导航、页脚版权)拆分成独立的文件。
- 调用方式:在
index.html或其他页面中使用{dede:include file='head.htm'/}和{dede:include file='footer.htm'/}来引入。 - 优点:修改一次,全站生效。
核心标签详解 (以首页为例)
下面我们以 index.html 为例,看看最常见的模板标签是如何使用的。

(图片来源网络,侵删)
调用文章列表 ({dede:arclist})
这是最核心、最常用的标签,用于在首页显示文章。
示例:调用“国内新闻”栏目的最新8篇文章,标题加粗,显示摘要。
{dede:arclist typeid='3' titlelen='40' row='8' orderby='pubdate' infolen='200'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<p>[field:description/]...</p>
</li>
{/dede:arclist}
标签属性说明:
typeid='3':指定调用栏目ID为3的文章,不写则调用所有栏目的,可以用逗号分隔多个ID,如typeid='1,2,3',len='40'`:标题长度,最多显示40个字符。row='8':调用文章的数量,这里是8篇。orderby='pubdate':排序方式,按发布日期排序,其他值:click(点击量),id(文章ID)。infolen='200':摘要长度,最多显示200个字符。addfields='...':如果需要调用文章模型的自定义字段(如作者、来源),需要在这里指定字段名。
字段说明 (用 [field:xxx/] 调用):
[field:title/]。[field:arcurl/]:文章链接。[field:pubdate function='strftime("%Y-%m-%d",@me)'/]:发布日期,function可以对日期进行格式化。[field:description/]:[field:litpic/]:文章缩略图。
调用栏目列表 ({dede:channel})
用于显示主导航栏或子栏目。
示例:显示顶级栏目(导航栏)
{dede:channel type='top' row='8'}
<li><a href="[field:typelink/]">[field:typename/]</a></li>
{/dede:channel}
标签属性说明:
type='top':只调用顶级栏目。row='8':显示8个栏目。type='son':调用指定栏目的子栏目。
调用友情链接 ({dede:flink})
{dede:flink type='text' row='24'}
[field:link/]
{/dede:flink}
type='text':显示为文字链接。type='image'则为图片链接。row='24':显示24个链接。
调用广告 ({dede:myad})
需要在后台“广告管理”中创建广告位和广告代码。
{dede:myad name='topbanner'/}
name='topbanner':调用后台标识为topbanner的广告位。
如何制作或修改一个门户资讯模板
-
准备工作:
- 设计稿:使用 Photoshop 或 Figma 等工具设计好首页、列表页、内容页的静态效果图。
- HTML/CSS 切割:将设计稿切割成独立的 HTML 文件和 CSS 文件,确保 CSS 是独立的,方便后续引入。
-
安装基础模板:
- 下载一个 DedeCMS 默认模板,或者一个简单的第三方模板作为基础。
- 将其上传到
/templets/目录下,并在后台“系统” -> “系统基本参数” -> “核心设置”中,将“默认模板风格”设置为你刚上传的文件夹名。
-
替换结构:
- 用你自己的 HTML 结构替换掉模板文件(如
index.html)中的主要内容部分。 - 保留
{dede:include file='head.htm'/}和{dede:include file='footer.htm'/}这类引入语句。
- 用你自己的 HTML 结构替换掉模板文件(如
-
插入标签:
- 在你需要显示动态内容的地方(如新闻列表位置),用
{dede:arclist}等标签替换掉原来的静态 HTML 内容。 - 为链接、图片等添加
[field:xxx/]字段。
- 在你需要显示动态内容的地方(如新闻列表位置),用
-
引入 CSS 和 JS:
- 将你自己的 CSS 文件上传到
/templets/your_theme/css/目录。 - 在
head.htm文件中,使用<link>标签引入你的 CSS 文件。 - 同理,JS 文件放在
/js/目录下,并在head.htm或footer.htm中用<script>标签引入。
- 将你自己的 CSS 文件上传到
-
调试与优化:
- 清除 DedeCMS 的模板缓存(后台有相关按钮)。
- 在前台刷新页面,检查样式是否错乱,数据是否正确显示。
- 使用浏览器开发者工具(F12)进行调试,修正 CSS 和 HTML 问题。
资源与推荐
- 官方社区:DedeCMS 官方论坛是学习和求助的最佳场所,有大量模板资源和教程。
- 模板市场:DedeCMS 官方、CodeIgniter 中文网、以及一些第三方模板网站都提供付费或免费的门户资讯模板。
- 标签手册:在 DedeCMS 安装目录下,通常有一个
docs文件夹,里面有详细的标签使用手册,是必备的参考资料。
DedeCMS 的门户资讯模板是一个基于 “模板引擎 + 标签系统” 的强大工具,其核心思想是 与表现分离”,要掌握它,你需要:
- 理解文件结构:知道首页、列表页、内容页、公共文件的作用和位置。
- 精通核心标签:特别是
{dede:arclist}和{dede:channel},以及它们的各种属性和字段。 - 具备 HTML/CSS 基础:能够将设计稿转化为网页,并将其与 DedeCMS 标签系统结合。
虽然现在 Vue/React 等现代前端框架更流行,但对于中小型资讯站、企业官网等场景,DedeCMS 及其模板系统因其简单、高效、文档丰富,至今仍然是一个非常实用的选择。
