核心函数:GetTags()
织梦调用文档关键词的核心函数是 GetTags(),这个函数通常用在文章内容页(article_article.htm)、文章列表页(list_*.htm)以及自定义模型页面中。

(图片来源网络,侵删)
函数基本用法
{dede:field name='keywords' function='GetTags(@me)'/}
参数解释:
{dede:field name='keywords'}: 这是获取当前文档的“关键词”字段内容,这个字段的内容通常是用英文逗号 分隔的字符串,"织梦,关键词,调用"。function='GetTags(@me)': 这是调用GetTags函数进行处理。@me: 是一个特殊变量,代表当前标签的原始值,也就是{dede:field name='keywords'}获取到的 "织梦,关键词,调用" 这个字符串。GetTags(): 函数会把这个字符串处理成一个由<a>链接组成的标签列表。
页调用当前文章的关键词(最常用)
这是最常见的用法,在文章详情页底部显示与当前文章相关的标签,并链接到关键词搜索结果页。
适用模板: article_article.htm
代码示例:

(图片来源网络,侵删)
<div class="article-tags">
<span>标签:</span>
{dede:field name='keywords' function='GetTags(@me)'/}
</div>
输出效果:
如果文章的关键词是 "织梦,PHP,建站",那么输出的HTML代码将是:
<div class="article-tags"> <span>标签:</span> <a href='/plus/search.php?keyword=织梦'>织梦</a> <a href='/plus/search.php?keyword=PHP'>PHP</a> <a href='/plus/search.php?keyword=建站'>建站</a> </div>
样式美化:
你可以通过CSS来美化这些标签,让它们看起来像标签云。

(图片来源网络,侵删)
.article-tags {
margin-top: 20px;
font-size: 12px;
}
.article-tags a {
display: inline-block;
margin: 0 5px;
padding: 2px 8px;
background-color: #f0f0f0;
color: #333;
text-decoration: none;
border-radius: 3px;
transition: all 0.3s;
}
.article-tags a:hover {
background-color: #007bff;
color: #fff;
}
在列表页调用单篇文档的关键词
这个场景用于在文章列表页(如首页、列表页)的摘要部分,显示每篇文章的关键词。
适用模板: index.htm, list_*.htm 等
代码示例:
在列表循环标签 {dede:list} 内部使用。
<ul>
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<div class="keywords">
{dede:field name='keywords' function='GetTags(@me)'/}
</div>
</li>
{/dede:list}
</ul>
输出效果:
列表中的每一项都会显示该文章的标题和对应的可点击标签。
调用全站热门关键词(标签云)
这个功能不是调用单篇文章的关键词,而是调用全站所有文章中出现频率最高的关键词,形成一个“标签云”效果。
适用模板: 任何需要显示标签云的页面,如首页侧边栏。
核心标签: {dede:tag}
代码示例:
<div class="tag-cloud">
<h3>热门标签</h3>
{dede:tag sort='hot' getall='0' limit='0,20'}
<a href="[field:link/]" title="[field:tagname/]([field:count/])]">[field:tagname/]</a>
{/dede:tag}
</div>
参数说明:
sort='hot': 排序方式。hot: 按热度(使用次数)排序。week: 按周排序。month: 按月排序。rand: 随机排序。
getall='0': 调用范围。0: 只调用当前栏目下的关键词。1: 调用全站所有关键词。
limit='0,20': 调用数量。- 格式为
起始数,显示数量。0,20表示从第0个开始,显示20个。
- 格式为
[field:link/]: 关键词的链接地址,通常是搜索结果页。[field:tagname/]: 关键词文本。[field:count/]: 该关键词被使用的次数。
标签云样式(CSS):
为了让标签有大有小,可以结合CSS的动态样式。
.tag-cloud a {
display: inline-block;
margin: 3px;
padding: 2px 8px;
background-color: #eee;
color: #666;
text-decoration: none;
border-radius: 3px;
font-size: 12px; /* 基础字号 */
}
/* 你可以通过织梦的底层模板变量或自定义方式为不同热度的标签设置不同字号 */
/* 在织梦后台的“标签调用”中,可以设置一个class,如class='tag-level-[field:lev/] */
/* 然后在CSS中定义 .tag-level-1, .tag-level-2 等 */
自定义关键词样式(进阶)
如果你想对关键词进行更精细的控制,比如为不同的关键词添加不同的样式,或者改变链接的target属性,可以使用str_replace函数进行二次处理。
示例:让关键词在新窗口打开
{dede:field name='keywords' function='str_replace("a href=", "a target=\"_blank\" href=", GetTags(@me))'/}
代码解释:
GetTags(@me): 先正常生成带链接的标签。str_replace("a href=", "a target=\"_blank\" href=", ...): 查找所有a href=的字符串,并将其替换为a target="_blank" href=,这样点击链接就会在新标签页打开。
示例:为每个关键词添加一个CSS class
{dede:field name='keywords' function='str_replace("<a", "<a class=\"my-tag\"", GetTags(@me))'/}
这样生成的每个 <a> 标签都会带上 class="my-tag",方便你用CSS统一控制。
总结与注意事项
- 关键词录入:要实现关键词调用,首先必须在后台发布文章时,在“关键词”栏目中填写关键词,并用英文逗号 分隔。
- 函数选择:
- 调用单篇文章的关键词,使用
{dede:field name='keywords' function='GetTags(@me)'/}。 - 调用全站热门关键词(标签云),使用
{dede:tag}
- 调用单篇文章的关键词,使用
- 链接目标:默认的关键词链接是站内搜索结果页 (
/plus/search.php?keyword=...),你可以通过修改或覆盖include/helpers/archive.helper.php文件中的GetTags函数来改变其行为,但通常不推荐这样做,以免升级后被覆盖。 - 性能:在列表页调用
GetTags时,如果文章数量很多,可能会对数据库产生一定的压力,但对于大多数中小型网站来说,影响可以忽略不计。
希望这份详细的指南能帮助你完全掌握织梦文档关键词的调用方法!
