基础调用:获取指定栏目下的Tag标签
这是最常用的一种场景,比如在列表页或频道页显示该栏目下所有文章的Tag标签。

适用场景:列表页 list_article.htm、频道页 templets/default/目录名/index.htm 等。
代码示例:
{dede:tag sort='hot' getall='0' num='10'}
<a href="[field:link/]">[field:tag/]</a>
{/dede:tag}
代码解析:
{dede:tag}:这是织梦的标签开始,用于调用Tag。sort='hot':排序方式,可选值有:hot:按Tag使用热度(引用次数)排序,从高到低。sort:按Tag名称的字母顺序排序。month:按Tag每月使用情况排序。rand:随机排序。
getall='0':是否获取全站Tag。0:不获取,只获取当前栏目下的Tag,这是最常用的选项。1:获取全站所有的Tag。
num='10':获取Tag的数量,这里表示获取10个。[field:link/]:Tag的链接地址。[field:tag/]:Tag的名称。
全站热门Tag调用
通常用在网站的侧边栏或页脚,展示全站最热门的Tag,方便用户快速浏览。

适用场景:全局模板,如 head.htm、footer.htm 或侧边栏模板。
代码示例:
<div class="hot-tags">
<h3>热门标签</h3>
{dede:tag sort='hot' getall='1' num='20'}
<a href="[field:link/]" title="[field:tag/]">[field:tag/]</a>
{/dede:tag}
</div>
代码解析:
这里的关键是 getall='1',它告诉织梦要获取全站所有标签,并结合 sort='hot' 来按热度排序,num='20' 显示前20个最热门的标签。

获取当前文章的Tag标签
这个功能用在文章内容页 article_article.htm,显示当前文章的所有Tag,方便用户点击相关文章。
适用场景页 article_article.htm。
代码示例:
<div class="article-tags">
<span>标签:</span>
{dede:tag sort='hot' getall='0' num='0'}
<a href="[field:link/]">[field:tag/]</a>
{/dede:tag}
</div>
代码解析:
- 在这种情况下,
getall='0'是默认行为,它会自动获取当前文章的Tag。 num='0'表示获取当前文章的所有Tag,不限制数量。- 这样生成的效果是:标签1, 标签2, 标签3...
高级用法:调用指定Tag的相关文章
这是一个非常强大的功能,可以极大增强内链建设,当用户查看一个Tag时,自动列出包含该Tag的其他文章。
适用场景:专门用于显示Tag列表的页面,即 tag.php。
实现步骤:
-
修改
tag.php模板: 找到织梦根目录下的tag.php文件,找到类似这样的代码:require_once(dirname(__FILE__)."/include/common.inc.php"); require_once(DEDEINC."/arc.taglist.class.php"); $tid = (isset($tid) && is_numeric($tid)) ? $tid : 0; $taglist = new TagList($tid); $row = $taglist->GetTag(); $keywords = $row['tagname']; $pagetitle = $row['tagname'].' - '. $cfg_webname; $tags = ''; $seokeywords = $row['tagname']; $seodescription = $row['tagname'].' - '. $cfg_description; // 获取模板文件 $tempfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/taglist.htm"; // 调用标签 $taglist->Display();
你需要将
$taglist->Display();这行注释掉或删除,然后引入我们自己的模板。 -
创建模板文件
taglist.htm: 在你的模板目录(/templets/default/)下,新建一个名为taglist.htm的文件。 -
在
taglist.htm中编写代码: 这个模板文件的结构和普通列表页类似,核心是使用{dede:list}标签来调用文章。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{dede:field.title/} - {dede:global.cfg_webname/}</title> <meta name="keywords" content="{dede:field.keywords/}" /> <meta name="description" content="{dede:field.description function='html2text(@me)'/}" /> </head> <body> <h1>标签“{dede:field.name/}”相关文章</h1> <ul class="related-articles"> {dede:list pagesize='10'} <li> <a href="[field:arcurl/]">[field:title/]</a> <span class="date">([field:pubdate function="MyDate('Y-m-d',@me)"/])</span> </li> {/dede:list} </ul> <!-- 分页 --> <div class="page-nav"> {dede:pagelist listsize='5' iteminfo='第[page]页/共[totalpage]页' listitem='index pre pageno next end'/} </div> </body> </html>
代码解析:
{dede:field.title/}和{dede:field.name/}:这里会自动获取当前Tag的名称,作为页面标题和H1标签。{dede:list pagesize='10'}:这是标准的列表调用标签,pagesize='10'表示每页显示10篇文章。[field:arcurl/]和[field:title/]:分别调用文章的链接和标题。{dede:pagelist}:调用分页导航。
当用户点击任何一个Tag链接时,都会跳转到这个 taglist.htm 页面,并显示所有包含该Tag的文章。
样式美化(添加CSS)
为了让Tag显示得更美观,通常会为它们添加一些CSS样式。
示例CSS代码:
/* 热门标签样式 */
.hot-tags {
margin-top: 20px;
padding: 15px;
background-color: #f9f9f9;
border-radius: 5px;
}
.hot-tags h3 {
margin-bottom: 10px;
font-size: 16px;
border-bottom: 1px solid #eee;
padding-bottom: 5px;
}
.hot-tags a {
display: inline-block;
margin: 5px 5px 5px 0;
padding: 3px 10px;
background-color: #e0e0e0;
color: #333;
text-decoration: none;
border-radius: 15px;
font-size: 12px;
transition: all 0.3s ease;
}
.hot-tags a:hover {
background-color: #007bff;
color: #fff;
}
/* 文章标签样式 */
.article-tags a {
margin-right: 8px;
color: #666;
text-decoration: none;
}
.article-tags a:hover {
color: #007bff;
text-decoration: underline;
}
将这些CSS代码添加到你的网站主样式文件中即可。
总结与注意事项
- 缓存问题:织梦的Tag调用有缓存,如果你修改了标签代码或添加了新Tag,前台页面可能不会立即更新,可以进入后台的“系统” -> “SQL命令行工具” -> “更新系统缓存”来手动刷新。
- 模板位置:确保你将
taglist.htm放在了正确的模板目录下。 - 权限:确保你的网站目录和文件有正确的读写权限,否则Tag无法正常生成或更新。
- 版本差异:不同版本的织梦(如DedeCMS 5.7, 5.8等),标签的某些属性可能略有不同,但核心功能基本一致,如果遇到问题,可以查阅对应版本的官方文档。
通过以上方法,你就可以在织梦网站的各个位置灵活地调用和展示Tag标签了。
