直接调用单个关键词(最常用)
如果你的文章只设置了一个关键词,或者你只想获取关键词列表中的第一个关键词,这是最简单直接的方法。

(图片来源网络,侵删)
适用场景:
- 获取文章的主要标签。
- 作为文章页面的一个简单标签展示。
调用代码:
{dede:field name='keywords' /}
代码解释:
{dede:field name='keywords' /} 是织梦系统最基本的字段调用标签,它会直接输出文章在后台“关键词”字段中填写的内容,多个关键词之间默认用英文逗号 分隔。
调用并解析关键词列表(用于生成标签)
这是最常用且功能最强大的方法,适用于获取所有关键词,并将它们解析成独立的标签,方便你进行循环、添加链接等操作。

(图片来源网络,侵删)
适用场景:
- 在文章页下方生成文章的标签云。
- 将每个关键词都链接到关键词搜索结果页或相关文章列表页。
调用代码:
{dede:tag row='8' getall='0'}
<a href="[field:link/]">[field:tag /]</a>
{/dede:tag}
代码解释:
{dede:tag ...}:这是专门用于调用文章关键词的标签。row='8':表示最多显示8个关键词,如果你的文章关键词超过8个,只取前8个,如果不需要限制,可以设置为一个很大的数字或删除此属性。getall='0':这是非常重要的一个属性。getall='0':只调用当前文章的关键词,这是最常用的模式。getall='1':调用全站所有的关键词(热门关键词),通常用于首页或频道的标签云。
[field:link/]:这是关键词的链接地址,织梦会自动将其解析为指向关键词搜索结果页的链接,URL格式通常是search.php?keywords=关键词。[field:tag /]:这是关键词的文本内容。
示例(美化样式):
<div class="article-tags">
<span>标签:</span>
{dede:tag row='10' getall='0'}
<a href="[field:link/]" class="tag-item">[field:tag /]</a>
{/dede:tag}
</div>
你可以通过CSS为 .tag-item 添加样式,比如设置背景色、边距等,使其看起来像一个美观的标签云。
手动解析关键词字符串(更灵活)
如果你觉得 {dede:tag} 标签不够灵活,或者想对关键词进行更复杂的处理(比如自定义链接),你可以手动解析关键词字符串。
适用场景:
- 想自定义关键词的链接地址(例如不链接到搜索页,而是链接到一个自定义的关键词列表页)。
- 想对关键词进行额外的字符串处理。
调用代码:
{dede:field name='keywords' runphp='yes'}
// 获取关键词字符串并按逗号分割成数组
$keywords = explode(',', trim(@me));
// 清理数组中的空元素
if(is_array($keywords)){
foreach($keywords as $key => $keyword){
if(empty($keyword)){
unset($keywords[$key]);
}
}
}
// 重新组合成新的HTML代码
$tags = '';
foreach($keywords as $keyword){
// 这里可以自定义链接地址
// 示例1:链接到搜索页 (默认行为)
$tags .= '<a href="/search.php?keywords='.urlencode($keyword).'">'.$keyword.'</a>, ';
// 示例2:链接到自定义的URL(需要你网站有相应的规则)
// $tags .= '<a href="/tags/'.urlencode($keyword).'.html">'.$keyword.'</a>, ';
}
// @me 是织梦模板中的变量,代表当前字段的值
// 将处理好的结果赋值给 @me
@me = $tags;
{/dede:field}
代码解释:
{dede:field name='keywords' runphp='yes'}:runphp='yes'属性允许你在标签内使用PHP代码来处理字段值。explode(',', trim(@me)):将关键词字符串用英文逗号分割成一个PHP数组。foreach ($keywords as $keyword):遍历数组中的每一个关键词。urlencode($keyword):对关键词进行URL编码,确保在URL中是安全的。@me = $tags;:这是最关键的一步,将你处理好的HTML字符串重新赋值给@me,最终模板会输出这个新值。
总结与推荐
| 方法 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
方法一:{dede:field name='keywords' /} |
简单、快捷,无需任何设置。 | 只能输出一整个字符串,无法单独处理每个关键词。 | 只需简单展示关键词文本时。 |
方法二:{dede:tag} |
功能强大,代码简洁,官方推荐,直接生成带链接的标签。 | 链接地址固定为搜索页,自定义性稍差。 | 绝大多数场景,尤其是生成文章标签云。 |
| 方法三:手动解析 | 极度灵活,可以完全控制链接地址和HTML结构。 | 代码较复杂,需要一定的PHP基础。 | 需要高度自定义,例如链接到自定义的关键词专题页时。 |
对于绝大多数用户来说,强烈推荐使用方法二 {dede:tag},因为它在功能、易用性和官方支持之间取得了最佳平衡,只有当你需要实现非常特殊的需求时,才考虑使用方法三。
