修改文章模板是自定义网站样式和功能的核心操作,整个过程主要分为三个步骤:

- 定位模板文件:找到需要修改的模板文件在哪里。
- 编辑模板内容:使用代码编辑器修改模板文件中的 HTML、PHP 和 DedeCMS 标签。
- 更新生成:让修改后的模板内容生效。
第一步:定位模板文件
DedeCMS 的模板文件存放在 /templets/ 目录下,文章相关的模板主要分为两大类:
全局/列表页模板
这些模板控制着文章列表的显示方式。
-
列表页模板:
- 位置:
/templets/default/(或你自定义的模板目录) - 文件名:
article_list.htm - 作用:当你点击一个栏目,进入文章列表页面时,这个模板决定了整个列表页的布局和样式,它通常包含一个循环,用于遍历并显示该栏目下的所有文章。
- 位置:
-
首页/封面页模板:
(图片来源网络,侵删)- 位置:
/templets/default/ - 文件名:
index.htm - 作用:网站首页的模板,首页通常会调用多个栏目的文章列表,所以也会用到
article_list.htm中的逻辑。
- 位置:
内容页模板
这个模板控制着单篇文章的详细显示页面。
- 位置:
/templets/default/(或你自定义的模板目录) - 文件名:
article_article.htm - 作用:当你点击文章标题,进入文章详情页时,这个模板决定了文章内容、标题、发布时间、作者、点击量等信息如何展示。
提示:如果你在后台设置了使用不同的模板(在“栏目管理”中为某个栏目指定了专属模板),那么系统会优先调用该栏目下的模板文件,而不是
/default/目录下的。
第二步:编辑模板内容
这是最核心的步骤,你需要了解 DedeCMS 的模板标签,并用它们来组织你的 HTML 结构。
常用 DedeCMS 模板标签
在列表页 (article_list.htm) 中:

-
{dede:field name='title'/}:当前栏目的标题。 -
{dede:global name='keyword'/}:网站全局关键词。 -
{dede:list pagesize='10'}:文章列表循环开始标签。pagesize='10'表示每页显示 10 篇文章。- 在
{dede:list}和{/dede:list}之间的内容,会对列表中的每一篇文章循环执行一次。
-
[field:title/]:在循环内部使用,表示单篇文章的标题。 -
[field:arcurl/]:在循环内部使用,表示单篇文章的链接地址。 -
[field:pubdate function="MyDate('Y-m-d', @me)"/]:在循环内部使用,表示文章的发布日期,MyDate函数用于格式化日期。 -
[field:click/]:在循环内部使用,表示文章的点击量。 -
[field:description/]:在循环内部使用,表示文章的摘要。 -
{dede:pagelist listsize='4'/}:分页条代码,用于显示“上一页、1、2、3、下一页”等。 页 (article_article.htm) 中:** -
{dede:field name='title'/}:当前文章的标题。 -
{dede:field name='pubdate' function='GetDateMk(@me)'/}:文章发布时间。 -
{dede:field name='source'/}:文章来源。 -
{dede:field name='writer'/}:文章作者。 -
{dede:field name='click'/}:文章点击量。 -
{dede:field name='description'/}: -
{dede:field name='body'/}:最重要的标签,表示文章的正文内容。 -
{dede:pagebreak/}:文章的分页符,用于将长文章分成多页。 -
{dede:include filename='comment.htm'/}:包含文章评论模板。 -
{dede:include filename='related.htm'/}:包含相关文章推荐模板。
修改示例:修改文章列表项的样式
假设你想让文章列表的标题变成红色,并加上链接。
-
找到文件:打开
/templets/default/article_list.htm。 -
定位循环代码:找到类似这样的代码块:
<li> <a href="[field:arcurl/]">[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span> </li> -
进行修改标签
<a>中的 CSS 类或样式进行修改。<!-- 修改前 --> <li> <a href="[field:arcurl/]">[field:title/]</a> <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span> </li> <!-- 修改后,给链接添加一个 class,方便用 CSS 控制样式 --> <li> <a href="[field:arcurl/]" class="article-title">[field:title/]</a> <span class="article-date">[field:pubdate function="MyDate('Y-m-d', @me)"/]</span> </li> -
添加 CSS:你可以在模板文件中
<head>标签里添加<style>代码,或者在外部 CSS 文件中添加样式。/* 在 article_list.htm 的 <head> 部分或外部 CSS 文件中 */ .article-title { color: red; font-weight: bold; } .article-date { color: #888; font-size: 12px; }
第三步:更新生成
模板修改完成后,并不会立即在网站上显示,你需要执行“更新生成”操作。
-
登录 DedeCMS 后台。
-
进入“生成”菜单:在顶部菜单栏找到“生成”选项。
-
选择生成方式:
- 一键更新网站:最简单的方式,会更新所有页面,包括首页、栏目页、文章页等,如果网站内容很多,会比较耗时。
- 更新栏目页/列表页:如果只修改了列表页模板,可以选择这个,只更新所有栏目列表。
- 更新文档HTML:如果只修改了内容页模板,可以选择这个,然后选择“所有内容页”或指定需要更新的文章。
- 更新主页:如果只修改了首页模板,就选择这个。
-
点击“开始生成”:等待生成完成,然后刷新你的网站前台页面,就能看到修改后的效果了。
高级技巧与注意事项
-
使用模板引擎:DedeCMS 使用
dede标签作为模板引擎,不要在模板中写复杂的 PHP 逻辑,尽量使用系统提供的标签和函数,如果必须写 PHP,可以使用{dede:php}...{/dede:php}标签,但不推荐,因为会影响模板的可维护性。 -
模板继承 (DedeCMS 5.7+):新版本的 DedeCMS 支持模板继承功能,你可以创建一个基础模板
base.htm定义好通用的头部和尾部,然后在其他模板中使用{dede:include filename="base.htm"/}和{dede:block name='mainblock'}...{/dede:block}来继承和覆盖内容块,这能大大提高模板复用性。 -
制作自定义模板:强烈建议不要直接修改
/templets/default/目录下的默认模板,正确的做法是:- 在后台“系统” -> “系统基本参数” -> “核心设置”中,将“默认模板目录”设置为一个新目录,
my_theme。 - 将
/templets/default/整个文件夹复制一份到/templets/my_theme/。 - 之后所有的修改都在
my_theme目录下进行。 - 这样做的好处是,未来升级 DedeCMS 时,你只需要替换
/templets/default/目录,而你的my_theme模板文件不会被覆盖,所有修改都得以保留。
- 在后台“系统” -> “系统基本参数” -> “核心设置”中,将“默认模板目录”设置为一个新目录,
-
调试技巧:如果修改后页面显示不正常(比如标签没有生效、页面错位),可以:
- 检查标签拼写:DedeCMS 标签对大小写敏感,确保拼写正确。
- 清除浏览器缓存:按
Ctrl + F5强制刷新页面。 - 检查 HTML 源码:右键查看网页源码,看生成的 HTML 是否是你期望的格式。
- 检查服务器权限:确保
/templets/目录和模板文件具有可读写权限。
通过以上步骤,你就可以自由地修改 DedeCMS 的文章模板,打造出符合自己需求的网站样式了。
