织梦的Tag标签页面是一个动态页面,它不像首页、列表页那样有固定的物理模板文件(如 index.htm),它的模板文件是固定的,叫做 taglist.htm,你所有的修改都需要在这个文件中进行。

(图片来源网络,侵删)
下面我将从 文件位置、模板结构、常用标签、实战示例 四个方面,为你提供一个完整的指南。
文件位置
taglist.htm 文件位于你当前主题(模板)目录下。
/你的网站根目录/
/templets/
/default/ <-- 你的主题文件夹,可能是 default 或其他自定义名称
├── index.htm <-- 首页模板
├── list_*.htm <-- 列表页模板
├── article_art.htm <-- 文章内容页模板
├── ...
└── taglist.htm <-- 【重点】Tag标签列表页模板
重要提示: 如果你找不到 taglist.htm 文件,请从织梦程序的 /templets/default/ 目录下复制一个到你当前使用的主题文件夹中。
模板结构分析
一个典型的 taglist.htm 模板文件结构如下,包含了HTML的基本骨架和织梦的特定标签。

(图片来源网络,侵删)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">{dede:field.title/}_{dede:global.cfg_webname/}</title>
<meta name="keywords" content="{dede:field.title/}">
<meta name="description" content="{dede:field.title/}”标签下的所有文章列表。">
<!-- 这里可以引入你的CSS和JS文件 -->
<link rel="stylesheet" href="/templets/default/style.css">
</head>
<body>
<!-- 1. 网站头部 (通常包含Logo、导航等) -->
{dede:include filename="head.htm"/}
<div class="main-container">
<div class="main-content">
<!-- 2. 当前标签的面包屑导航 -->
<div class="breadcrumb">
<a href="/">首页</a> > 标签: <strong>{dede:field.title/}</strong>
</div>
<!-- 3. 标签描述 (可选) -->
{dede:tagname}
<div class="tag-desc">
<p>标签简介:[field:descript/]</p>
</div>
{/dede:tagname}
<!-- 4. 核心内容区:调用该标签下的所有文章列表 -->
<ul class="article-list">
{dede:list pagesize='10'}
<li>
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<p class="info">
<span>发布时间:[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
<span>浏览:[field:click/]</span>
<span>评论:[field:postnum/]</span>
</p>
<div class="summary">
[field:description function='cn_substr(@me, 200)'/]...
</div>
</li>
{/dede:list}
</ul>
<!-- 5. 分页条 -->
<div class="page-nav">
{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}
</div>
</div>
</div>
<!-- 6. 网站底部 (通常包含版权、友情链接等) -->
{dede:include filename="footer.htm"/}
</body>
</html>
核心标签详解
在 taglist.htm 中,你会用到以下几类核心标签:
页面基本信息标签
{dede:field.title/}: 当前页面的标题,即用户点击的那个Tag标签名,用户点击了“织梦教程”,这里就会显示“织梦教程”。{dede:global.cfg_webname/}: 网站站名。{dede:tagname}: 当前标签的详细信息,需要用{/dede:tagname}包裹。[field:descript/]: 当前标签的描述,需要在后台“标签管理”中为每个标签填写描述才能显示。
{dede:pagelist listitem='...' listsize='...' /}: 分页标签,用于生成分页链接。listitem: 控制显示哪些分页元素,常用值有index(首页),pre(上一页),next(下一页),end(末页),pageno(页码),info(页码信息)。listsize: 显示的页码数量。
内容循环标签
这是 taglist.htm 中最重要的部分,用于调用属于当前Tag的所有文章。
{dede:list pagesize='10'}
<!-- 循环体内的内容,每篇文章都会执行一次 -->
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:list}
{dede:list}: 列表开始标签。pagesize='10': 每页显示的文章数量,你可以根据需要修改这个数字。
{/dede:list}: 列表结束标签。[field:arcurl/]: 文章的链接地址。[field:title/]: 。[field:pubdate function="MyDate('Y-m-d',@me)"/]: 文章的发布日期。function="MyDate(...)"是一个函数,用来格式化日期,'Y-m-d'表示年-月-日。[field:click/]: 文章的点击数。[field:postnum/]: 文章的评论数。[field:description/]: 文章的摘要,通常我们会用cn_substr函数截取前200个字符:[field:description function='cn_substr(@me, 200)'/]。
实战示例:制作一个简洁的Tag列表页
录是 /templets/mytheme/,我们来创建一个简单实用的 taglist.htm。
步骤1:复制模板文件
从 /templets/default/ 复制 taglist.htm 到 /templets/mytheme/。

(图片来源网络,侵删)
步骤2:编辑 taglist.htm 文件
打开 /templets/mytheme/taglist.htm,清空原有内容,然后粘贴以下代码:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">{dede:field.title/} - {dede:global.cfg_webname/}</title>
<meta name="keywords" content="{dede:field.title/}">
<meta name="description" content="查看关于“{dede:field.title/}”的所有文章。">
<style>
body { font-family: 'Microsoft YaHei', sans-serif; line-height: 1.6; margin: 0; padding: 20px; background-color: #f4f4f4; }
.container { max-width: 800px; margin: 20px auto; background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.page-header { border-bottom: 1px solid #eee; padding-bottom: 10px; margin-bottom: 20px; }
.page-header h1 { margin: 0; font-size: 24px; color: #333; }
.breadcrumb { font-size: 14px; color: #666; }
.breadcrumb a { color: #007bff; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.article-item { padding: 15px 0; border-bottom: 1px solid #eee; }
.article-item:last-child { border-bottom: none; }
.article-item h2 { margin: 0 0 10px 0; font-size: 18px; }
.article-item h2 a { color: #333; text-decoration: none; }
.article-item h2 a:hover { color: #007bff; }
.article-meta { font-size: 12px; color: #999; margin-bottom: 10px; }
.article-summary { color: #555; line-height: 1.8; }
.page-nav { text-align: center; margin-top: 30px; }
.page-nav a, .page-nav span { margin: 0 5px; padding: 5px 10px; border: 1px solid #ddd; text-decoration: none; color: #333; }
.page-nav a:hover { background-color: #007bff; color: #fff; border-color: #007bff; }
.page-nav .thisclass { background-color: #007bff; color: #fff; border-color: #007bff; }
</style>
</head>
<body>
<div class="container">
<!-- 页面头部 -->
<div class="page-header">
<div class="breadcrumb">
<a href="/">首页</a> > 标签: <strong>{dede:field.title/}</strong>
</div>
<h1>标签: {dede:field.title/}</h1>
</div>
<!-- 标签描述(可选) -->
{dede:tagname}
{if field:descript/ != ''}
<div class="tag-desc">
<p><strong>标签简介:</strong>[field:descript/]</p>
</div>
{/if}
{/dede:tagname}
<!-- 文章列表 -->
<div class="article-list">
{dede:list pagesize='15'}
<div class="article-item">
<h2><a href="[field:arcurl/]">[field:title/]</a></h2>
<div class="article-meta">
发布时间:[field:pubdate function="MyDate('Y-m-d H:i',@me)"] |
浏览:[field:click] |
评论:[field:postnum]
</div>
<div class="article-summary">
[field:description function='cn_substr(@me, 200)'/]...
</div>
</div>
{/dede:list}
</div>
<!-- 分页 -->
<div class="page-nav">
{dede:pagelist listitem="index,pre,next,end,pageno" listsize="5"}
</div>
</div>
</body>
</html>
代码说明:
- 响应式设计:添加了
viewport标签和一些基础的CSS样式,使其在手机上也能良好显示。 - 结构清晰:使用
container、page-header、article-item等CSS类,让HTML结构更清晰。 - 条件判断:
{if field:descript/ != ''}...{/if}只有当标签有描述时才显示简介部分,避免空白。 - 日期格式:将日期格式化为
年-月-日 时:分,更具体。 - 分页样式:为分页链接添加了简单的CSS样式,使其更美观。
常见问题与解决
Q1: 为什么我点击Tag标签后,页面是404或者空白?
A1: 这是最常见的问题,原因通常是:
- 伪静态规则未开启:织梦Tag列表页需要伪静态支持才能正常工作,请确保你的服务器(Apache或Nginx)已经配置了织梦的伪静态规则。
- Apache用户:检查网站根目录下是否有
.htaccess文件,并确保其中包含织梦的伪静态规则。 - Nginx用户:在Nginx的配置文件中,为你的站点添加织梦的伪静态规则,
nginx -t检查语法并nginx -s reload重载配置。
- Apache用户:检查网站根目录下是否有
- 模板文件缺失:如前所述,确保你的主题目录下有
taglist.htm文件。
Q2: 如何修改Tag列表页的URL格式?
A2: 织梦的Tag URL格式是在后台设置的。
- 登录织梦后台。
- 进入【系统】-> 【系统基本参数】-> 【核心设置】。
- 找到 “(是/否)使用伪静态” 选项,选择 “是”。
- 向下滚动,找到 “栏目链接默认规则” 和 “文章链接默认规则” 下面的 “TAG标签默认规则”。
- 你可以在这里修改URL的格式,例如从
tags.php?/tagname.html修改为tag/tagname.html。 - 修改后,你需要同时更新服务器的伪静态规则,使其与新的URL格式匹配。
Q3: 我想在Tag列表页调用其他内容,比如推荐文章、热门文章,可以吗?
A3: 不可以直接调用。{dede:list} 标签是专门用来调用属于当前Tag的文章的,如果你想调用全站的推荐文章或热门文章,你需要使用其他标签,但请注意,这可能会与Tag列表页的核心功能(展示相关文章)产生冲突,通常不推荐这样做。
希望这份详细的指南能帮助你制作出满意的织梦Tag标签主页模板!
