DedeCMS(织梦内容管理系统)的模板制作,虽然现在市面上有很多现成的模板,但作为初学者(菜鸟),理解模板的原理和标签用法是最重要的。

⚠️ 重要提示: DedeCMS 目前已商业收费,且由于历史久远,代码安全性相对现代框架(如 Laravel、ThinkPHP)较弱。建议仅用于本地学习或内部系统,不建议直接用于暴露在公网的生产环境,除非你非常懂得如何修补安全漏洞。
以下是一份为您准备的 DedeCMS 模板制作菜鸟教程:
第一部分:模板文件在哪里?
DedeCMS 的模板文件通常存放在网站根目录下的 /templets/ 文件夹中。
- 默认模板路径:
/templets/default/ - 文件后缀: DedeCMS 的模板文件通常以
.htm虽然也可以用 .html,但系统默认识别 .htm)。
核心文件说明:

index.htm—— 首页模板list_article.htm—— 文章列表页模板 (栏目页)article_article.htm—— 页模板 (详情页)head.htm—— 头部公共模板 (包含导航、CSS引用)footer.htm—— 底部公共模板 (包含版权信息)
第二部分:必须掌握的核心标签
DedeCMS 使用特定的标签来动态调用数据库里的内容,标签通常写在 花括号内。
全局公共标签
在任何模板文件中都可以使用。
- 获取站点根路径:
{dede:global.cfg_cmsurl/}- 用途:生成链接时使用,
<a href="{dede:global.cfg_cmsurl/}/about.html">关于我们</a>
- 用途:生成链接时使用,
- 获取模板路径:
{dede:global.cfg_templets_skin/}- 用途:引入 CSS、JS 或图片。
<link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/style.css">
- 用途:引入 CSS、JS 或图片。
- 引入公共文件:
{dede:include filename="head.htm"/}(引入头部){dede:include filename="footer.htm"/}(引入底部)
导航栏调用
通常用在 head.htm 中。
<ul>
{dede:channel type='top' row='8' currentstyle="<li class='on'><a href='~typelink~'>~typename~</a></li>"}
<li><a href='[field:typeurl/]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
type='top':调用顶级栏目。row='8':调用 8 条数据。
文章列表调用
这是最常用的标签,用于首页调用新闻、产品,或者列表页展示文章。

<ul>
{dede:arclist row='10' titlelen='30' typeid='1' orderby='pubdate'}
<li>
<span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
row='10':调用 10 条,len='30'`:标题长度限制 30 个字符。typeid='1':指定栏目 ID(可以在后台看到)。orderby='pubdate':按发布时间排序。[field:arcurl/]:文章链接。[field:title/]。[field:litpic/]:文章缩略图地址(如果有)。
内容页专用标签
只能用在 article_article.htm 等内容页模板中。
-
{dede:field.title/} -
{dede:field.body/} - 发布时间:
{dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/} - 来源:
{dede:field.source/} - 作者:
{dede:field.writer/} - 当前栏目名:
{dede:field.typename/}
第三部分:从零制作一个简单模板的步骤
假设你要把一个静态的 HTML 页面变成 DedeCMS 模板:
-
准备工作:
- 在
/templets/下新建一个文件夹,mytemp。 - 将你的静态 HTML 文件(index.html)、CSS 文件夹、JS 文件夹、Images 文件夹全部复制进去。
- 将
index.html重命名为index.htm。
- 在
-
修改路径(关键):
- 打开
index.htm,将所有的src="images/xxx.jpg"和href="css/xxx.css"修改为 DedeCMS 标签格式。 - 修改前:
<link rel="stylesheet" href="css/style.css"> - 修改后:
<link rel="stylesheet" href="{dede:global.cfg_templets_skin/}/css/style.css">
- 打开
-
拆分结构:
- 为了方便维护,将
index.htm的头部代码(导航部分)剪切出来,新建一个head.htm粘贴进去。 - 将底部代码(版权部分)剪切出来,新建一个
footer.htm粘贴进去。 - 在
index.htm被剪切的位置分别填入:{dede:include filename="head.htm"/}{dede:include filename="footer.htm"/}
- 为了方便维护,将
-
- 找到原本静态显示新闻列表的地方,删除多余的
<li>,只留一个,然后用{dede:arclist ...}...{/dede:arclist}包裹起来。 - 把静态的文字替换成
[field:title/]等标签。
- 找到原本静态显示新闻列表的地方,删除多余的
-
后台设置:
- 登录 DedeCMS 后台 -> 系统 -> 系统基本参数 -> 站点设置 -> 模板默认风格:改为
mytemp。 - 生成 -> 更新主页 HTML -> 选择“动态浏览”或者重新生成静态文件。
- 登录 DedeCMS 后台 -> 系统 -> 系统基本参数 -> 站点设置 -> 模板默认风格:改为
第四部分:常见问题 (FAQ)
Q: 为什么我改了模板,前台没变化? A: DedeCMS 默认是生成静态 HTML 的,修改模板后,必须去后台点击 “生成” -> “更新主页 HTML” 和 “更新栏目 HTML” 才能看到效果。
Q: 如何调用缩略图?
A: 在 {dede:arclist} 标签内使用 [field:litpic/],如果文章没有图,想显示默认图,可以使用 [field:litpic runphp='yes']if(@me==''){@me='/images/default.gif';}[/field:litpic]。
Q: 哪里找现成的模板?
A: 可以在 A5 源码、懒人图库等网站搜索“DedeCMS 模板”,下载后解压到 templets 目录,然后在后台修改“模板默认风格”即可。
对于菜鸟来说,最快的学习方法是:
- 下载一个默认的 DedeCMS 安装包。
- 打开
/templets/default/index.htm。 - 对照着网页显示的效果,看代码里的标签是怎么写的。
- 边改边生成,看报错信息。
祝你学习顺利!
