在列表页调用当前栏目关键字 (最常用)
这是最常见的需求,比如在列表页的 <title> 或 <meta name="keywords"> 标签中使用。

(图片来源网络,侵删)
适用场景:
- 栏目列表页 (
list_栏目ID.htm) - 频道封面页 (
index_栏目ID.htm)
调用代码:
{dede:field name='keywords'/}
代码解析:
{dede:field ...}是 DedeCMS 调用单个字段值的标签。name='keywords'指定了要调用的字段是keywords。- 这个标签在列表页中,会自动获取当前栏目的关键字。
实际应用示例 (修改 list_article.htm 模板):

(图片来源网络,侵删)
-
修改页面标题 (Title): 在
<head>标签内找到<title>标签,将其修改为:这里
{dede:field name='title'/}获取的是当前栏目的名称,而不是关键字,如果想在标题里也包含关键字,可以这样组合: -
修改页面关键词 (Meta Keywords): 在
<head>标签内找到<meta name="keywords">标签,将其修改为:<meta name="keywords" content="{dede:field name='keywords'/}"> -
中显示关键字: 比如在列表页的某个位置显示当前栏目的关键字:
(图片来源网络,侵删)<p>本栏目关键字:<span class="keywords">{dede:field name='keywords'/}</span></p>
页调用当前栏目关键字
页,你可能希望显示这篇文章所属栏目的关键字。
适用场景:
- 页 (
article_articledID.htm)
调用代码:
{dede:field name='keywords'/}
代码解析:页,{dede:field name='keywords'/} 默认调用的是当前文章的关键字。
- 要调用当前栏目的关键字,需要使用
channel函数。
调用当前栏目关键字的正确代码:
{dede:field name='typeid' function="GetChannelKeywords(@me)"/}
代码解析:
{dede:field name='typeid'}先获取当前文章所属的栏目ID。function="GetChannelKeywords(@me)"是一个自定义函数。@me是 DedeCMS 模板中的占位符,代表前面标签获取到的值(也就是栏目ID)。GetChannelKeywords()是 DedeCMS 内置的一个函数,它接收一个栏目ID作为参数,然后返回该栏目的关键字。
实际应用示例 (修改 article_article.htm 模板):
在 <head> 中修改 Meta Keywords:
<meta name="keywords" content="{dede:field name='typeid' function='GetChannelKeywords(@me)'/}">
这样,每篇文章的 Meta Keywords 都会显示其所属栏目的关键字,而不是文章自身的关键字。
在任意页面调用指定栏目的关键字
你可能想在首页或者某个特定页面调用一个固定栏目(公司简介”)的关键字。
适用场景:
- 首页
- 自定义页面
- 任何非栏目列表/内容页
调用代码:
{dede:channel typeid='栏目ID' function='GetChannelKeywords(@me)'}
[field: function='GetChannelKeywords(@me)'/]
{/dede:channel}
或者更简洁的写法(推荐):
{dede:field name='typeid' function='GetChannelKeywords(栏目ID)'/}
代码解析:
- 这种方法直接调用
GetChannelKeywords()函数,并直接传入你想要查询的栏目ID。 - 你需要将
栏目ID替换为你实际目标栏目的数字ID,栏目“公司简介”的ID是5,那么代码就是:{dede:field name='typeid' function='GetChannelKeywords(5)'/}
实际应用示例 (修改 index.htm 首页模板):
想在首页某个位置显示ID为 3 的栏目“产品中心”的关键字:
<h2>产品中心关键词</h2>
<p>{dede:field name='typeid' function='GetChannelKeywords(3)'/}</p>
总结与注意事项
| 场景 | 推荐代码 | 说明 |
|---|---|---|
| 栏目列表页 | {dede:field name='keywords'/} |
调用当前栏目的关键字,最简单直接。 |
| 页 | {dede:field name='typeid' function="GetChannelKeywords(@me)"/} |
调用当前文章所属栏目的关键字。 |
| 任意页面 | {dede:field name='typeid' function='GetChannelKeywords(栏目ID)'/} |
调用指定栏目ID的关键字,最灵活。 |
重要注意事项:
- 关键字为空: 如果你在后台某个栏目中没有填写关键字,那么调用出来的结果将是空白的,请确保你已经为需要调用关键字的栏目填写了内容。
- 栏目ID: 使用方法三时,务必确保你填写的
栏目ID是正确的,你可以在 DedeCMS 后台“栏目管理”中查看每个栏目的ID。 - 模板缓存: 修改模板文件后,如果前台页面没有立即生效,请登录 DedeCMS 后台,点击“生成” -> “更新HTML”,或者清空一下模板缓存。
- **自定义函数:`GetChannelKeywords()`` 是 DedeCMS V5.7 及以上版本中比较可靠的内置函数,如果你使用的是非常古老的版本,可能需要确认该函数是否存在或使用其他替代方法。
希望这些详细的解释和示例能帮助你成功调用 DedeCMS 的栏目关键字!
