Tag 模板主要分为两类:

(图片来源网络,侵删)
-
Tag列表页模板:当用户点击一个标签(
点击这里),进入展示所有包含该标签的文章列表页面时,使用的模板。- 文件位置:
/templets/default/taglist.htm
- 文件位置:
-
Tag关联模板:在文章内容页(
article_article.htm)中,用于展示当前文章所有标签的模板片段。- 文件位置:这个通常不是一个独立文件,而是内嵌在文章内容页模板 (
article_article.htm) 里的一个特定代码块。
- 文件位置:这个通常不是一个独立文件,而是内嵌在文章内容页模板 (
Tag列表页模板 (taglist.htm)
这个模板决定了当你点击一个标签后,跳转到的那个页面长什么样子。
文件位置
默认情况下,这个模板文件位于:

(图片来源网络,侵删)
你的网站根目录/
└── templets/
└── default/
└── taglist.htm
templets/:存放所有网站模板的目录。default/:当前正在使用的模板文件夹,如果你使用的是其他模板(mb/),那么路径就是/templets/mb/taglist.htm。
如何修改和自定义
taglist.htm 的结构和普通的列表页模板(如 list_article.htm)非常相似,你可以通过修改它来改变标签列表页的样式。
常用的模板标签(标签)说明:
{dede:tagname}:当前标签的名称。{dede:tag}:这是一个循环标签,用于列出所有包含当前标签的文章。[field:title/]。[field:arcurl/]:文章链接。[field:pubdate function="MyDate('Y-m-d',@me)"/]:发布日期。[field:description/]:
示例 taglist.htm
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">{dede:tagname} - {dede:global.cfg_webname/}</title>
</head>
<body>
<h1>标签 "{dede:tagname}" 相关文章</h1>
<ul>
{dede:tag}
<li>
<a href="[field:arcurl/]">[field:title]</a>
<span>([field:pubdate function="MyDate('Y-m-d',@me)"])</span>
</li>
{/dede:tag}
</ul>
</body>
</html>
Tag关联模板 (在文章内容页中)
这部分指的是在文章详情页里,文章标题下方或下方显示的“标签”部分,标签:织梦cms,模板,dede,点击这些标签会跳转到上面提到的 taglist.htm 页面。

(图片来源网络,侵删)
模板位置
这部分代码不是独立文件,它位于文章内容页的模板文件中。 页模板文件是:
你的网站根目录/
└── templets/
└── default/
└── article_article.htm
你需要在 article_article.htm 文件中找到负责输出标签的代码块。
如何修改和自定义
在 article_article.htm 文件中,找到类似下面这样的代码段:
使用默认的标签调用代码
<small>标签:</small>
{dede:tag type='current'}
<a href="[field:link/]">[field:tagname/]</a>
{/dede:tag}
- 你可以修改这段代码的 HTML 结构,来改变标签的显示样式。
- 想给每个标签加上 class 方便 CSS 控制:
<small>标签:</small>
{dede:tag type='current'}
<a href="[field:link/]" class="article-tag">[field:tagname/]</a>
{/dede:tag}
使用自定义字段(更灵活)
很多高级模板会使用自定义字段来调用标签,这样更灵活,代码可能长这样:
[field:array runphp='yes']
@me = @me['tags'];
if(!empty(@me)){
$tags = explode(',', @me);
$result = '<small>标签:</small>';
foreach($tags as $tag){
$url = "/tags/".urlencode($tag).".html"; // 注意:这里的URL结构需要和后台设置一致
$result .= "<a href='{$url}'>{$tag}</a> ";
}
@me = $result;
}else{
@me = '';
}
[/field:array]
- 这种方式下,你只需要修改
$result变量里的 HTML 结构即可。
重要前提:后台设置
即使你修改了模板,如果后台没有开启或正确设置,标签功能也无法正常工作,请检查以下设置:
-
开启Tag功能:
- 登录 DedeCMS 后台。
- 进入【系统】-> 系统基本参数。
- 在“核心设置”选项卡中,找到是否开启 “关键字替换” 和 “启用TAGS”,确保它们是“是”。
- 在“其它选项”中,找到 “关键字分词” 相关的设置,根据需要开启。
-
设置Tag列表命名规则:
- 进入【系统】-> 系统基本参数 -> 核心设置。
- 找到 “列表命名规则” 和 “文章命名规则”。
- 特别重要:在“文章命名规则”中,确保有
[tags]这个字段,/{aid}.html或者/tags/{tags}/{aid}.html,这决定了文章的 URL 是否包含标签信息。 - 在“列表命名规则”中,通常设置为
tags/{tag}/{page}.html或tag/{tag}/index_{page}.html,这个规则决定了taglist.htm生成的页面的 URL 结构。
-
更新Tag缓存:
- 进入【核心】-> 批量维护 -> 更新Tag缓存。
- 每次新增或修改了大量标签后,最好执行一次此操作,以确保前台能正确显示。
总结与排查步骤
如果你遇到标签不显示或样式不对,请按以下步骤排查:
-
确定问题场景:
- 是标签列表页 (
taglist.htm) 的样式不对? - 还是页 (
article_article.htm) 的标签不显示或样式不对?
- 是标签列表页 (
-
定位对应模板文件:
- 标签列表页问题 -> 修改
/templets/你的模板文件夹/taglist.htm。 - 页标签问题 -> 修改
/templets/你的模板文件夹/article_article.htm。
- 标签列表页问题 -> 修改
-
检查后台设置:
- 确认后台“系统基本参数”中,Tag功能已开启。
- 确认命名规则设置正确,特别是包含
[tags]和tags/的部分。
-
更新缓存:
在后台“更新Tag缓存”,然后刷新前台页面看效果。
通过以上步骤,你应该能准确定位并修改 DedeCMS 的 Tag 模板了。
