{dede:field} 和 {dede:global}
调用当前栏目信息,主要依赖于两个上下文环境标签:

(图片来源网络,侵删)
{dede:field}: 用于获取当前栏目的字段,如栏目名、栏目ID、栏目描述、栏目链接等。{dede:global}: 用于获取全局变量,在栏目页,{dede:global.name/}通常也指向当前栏目的名称(与{dede:field name='typename'/}效果相同)。
在列表页 (list_article.htm) 调用
这是最常见的情况,比如在列表页的标题位置显示“ - 当前栏目名 - 网站名称”这样的格式。
获取栏目名称
<h1>{dede:field name='typename'/}</h1>
- 说明:
name='typename'指的是调用当前栏目数据表 (dede_arctype) 中的typename字段,即栏目的名称。
获取栏目链接
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
- 说明:
name='typeurl'会自动生成当前栏目的链接地址,格式为你的域名/栏目目录/。
获取栏目ID
当前栏目ID是: {dede:field name='id'/}
- 说明:
name='id'调用的是栏目的唯一ID。
获取栏目描述和关键词
<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}">
<meta name="keywords" content="{dede:field name='keywords'/}">
- 说明:
description是栏目的描述。keywords是栏目的关键词。function='html2text(@me)'是一个非常重要的修饰,它会将描述中可能存在的 HTML 标签(如换行<br>)去除,只保留纯文本,这对于 SEO 非常友好。
获取栏目内容(栏目简介)
<div class="intro">
{dede:field name='content'/}
</div>
- 说明:
content字段是在后台“栏目管理” -> “修改栏目”时填写的“栏目简介”,支持 HTML 代码。
页 (article_article.htm) 调用
页,你可能也想显示文章所属的栏目名称和链接。
获取当前文章所属的栏目名称
发布栏目: <a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
- 说明:在文章页,
{dede:field}标签同样可以调用当前文章所属栏目的信息,用法与列表页完全一样。
获取上级栏目名称和链接
这是一个非常实用的功能,比如面包屑导航。
<!-- 面包屑导航示例 -->
<a href="{dede:global.cfg_cmsurl/}/">首页</a> >
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
- 说明:这里
{dede:field name='typeurl'}和{dede:field name='typename'}指的是当前文章所在栏目的链接和名称,如果你想获取上级栏目,需要使用{dede:field name='topreid'/}等更复杂的逻辑,或者使用 DedeCMS 的内置面包屑标签。
使用 DedeCMS 内置的面包屑导航标签
DedeCMS 提供了专门的面包屑导航标签,这是最标准、最推荐的方法,能自动处理多级栏目。

(图片来源网络,侵删)
{dede:field name='position'/}
- 说明:
- 这个标签会自动生成类似 “
首页 > 科技 > 互联网” 这样的导航路径。 - 它会智能地获取从顶级栏目到当前栏目的所有层级,并生成对应的链接。
- 在列表页和内容页都可以使用。
- 这个标签会自动生成类似 “
完整示例:列表页模板 (list_article.htm) 代码片段
下面是一个完整的列表页头部示例,整合了上述多种调用方法。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">{dede:field name='title'/} - {dede:field name='typename'/} - {dede:global.cfg_webname/}</title>
<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}">
<meta name="keywords" content="{dede:field name='keywords'/}">
</head>
<body>
<!-- 面包屑导航 -->
<div class="breadcrumb">
{dede:field name='position'/}
</div>
<!-- 当前栏目名称和链接 -->
<h1><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></h1>
<!-- 栏目简介/描述 -->
<div class="intro">
{dede:field name='content'/}
</div>
<!-- 文章列表内容 -->
<ul>
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
</li>
{/dede:list}
</ul>
<!-- 分页 -->
<div class="page">
{dede:pagelist listsize='5'/}
</div>
</body>
</html>
常用当前栏目字段列表
| 字段名 | 说明 | 示例 |
|---|---|---|
id |
栏目ID | {dede:field name='id'/} |
typeid |
栏目ID (同id) | {dede:field name='typeid'/} |
typename |
栏目名称 | {dede:field name='typename'/} |
typedir |
栏目目录 (不含域名) | /a/tech/ |
typeurl |
栏目完整链接 | http://www.example.com/a/tech/ |
description |
栏目描述 | {dede:field name='description'/} |
keywords |
栏目关键词 | {dede:field name='keywords'/} |
content |
栏目简介/内容 | {dede:field name='content'/} |
reid |
上级栏目ID | {dede:field name='reid'/} |
topid |
顶级栏目ID | {dede:field name='topid'/} |
position |
面包屑导航路径 | {dede:field name='position'/} |
希望这份详细的指南能帮助您在 DedeCMS 中灵活地调用当前栏目信息!

(图片来源网络,侵删)
