使用最常用的 {dede:field name='typename'/}
这是最直接、最简单的方法,适用于绝大多数情况。
(图片来源网络,侵删)
标签代码:
{dede:field name='typename'/}
使用示例:
假设你想在文章标题下方显示一个“栏目导航”或者简单的栏目名,可以这样写:
<h1>{dede:field.title/}</h1>
<p>栏目:<strong>{dede:field name='typename'/}</strong></p>
<div>
{dede:field.body/}
</div>
优点:
- 简单直接:代码量最少,易于理解和记忆。
- 高效:直接从当前文章的数据中读取栏目名称,性能最好。
局限性:
(图片来源网络,侵删)
- 无法进行二次处理:这个标签直接输出原始的栏目名称,如果你想在输出前对其进行修改(只显示前5个字符、转换大小写等),这个标签就无能为力了。
使用 {dede:type} 单循环标签(功能最强大)
当你需要对栏目名称进行更复杂的操作时,{dede:type} 标签是最佳选择,它相当于一个单篇文章的循环,可以让你像在列表页调用栏目信息一样,获取当前栏目的各种属性。
标签代码:
{dede:type}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:type}
代码解析:
{dede:type}...{/dede:type}:这是一个成对的循环标签。
[field:typename/]:获取当前栏目的名称。
[field:typelink/]:获取当前栏目的链接地址。
[field:typedir/]:获取当前栏目的目录路径(通常用于链接)。
[field:description/]:获取当前栏目的描述。
使用示例 1:显示带链接的栏目名称
(图片来源网络,侵删)
<p>您所在的位置是:<a href="{dede:global.cfg_cmsurl/}/">首页</a> > {dede:type}<a href="[field:typelink/]">[field:typename/]</a>{/dede:type}</p>
这段代码会生成类似“首页 > 技术文章”这样的面包屑导航,技术文章”是一个可点击的链接。
使用示例 2:获取栏目ID并进行判断
{dede:type}
当前栏目ID是:[field:id/]
{/dede:type}
这个功能在需要根据栏目ID进行特殊判断或调用其他数据时非常有用。
优点:
- 功能强大:不仅能获取名称,还能获取栏目ID、链接、描述等所有信息。
- 灵活性高:可以对输出内容进行任意处理和格式化。
- 可以生成链接:这是
{dede:field name='typename'} 无法做到的。
局限性:
- 代码稍长:比第一种方法多了一对标签。
- 性能开销:虽然对单页影响微乎其微,但从原理上讲,它比直接调用字段要多一次数据库查询(获取当前栏目的信息)。
使用SQL查询(不推荐,仅作了解)
在某些极其特殊的情况下,你可能需要通过直接执行SQL语句来获取栏目信息,但强烈不推荐在模板文件中直接写SQL,因为它会增加数据库负担,并且代码可读性差,容易出错。
标签代码:
{dede:sql sql="SELECT typename FROM dede_arctype WHERE id=~id~"}
[field:typename/]
{/dede:sql}
代码解析:
dede_arctype 是织梦存放栏目的表。
~id~ 是织梦的一个特殊变量,代表当前文章的栏目ID。
为什么不推荐?
- 性能差:每次打开文章页都会执行一次额外的SQL查询。
- 维护困难:如果未来表结构发生变化,这段代码就会失效。
- 有更优替代:方法一和方法二已经能满足99.9%的需求。
总结与选择建议
方法
标签代码
优点
缺点
适用场景
直接调用字段
{dede:field name='typename'/}
最简单、最高效
无法二次处理、无法生成链接
仅需显示纯文本栏目名称,无任何额外需求。
单循环标签
{dede:type}
[field:typename/]
{/dede:type}
功能最强大、最灵活
代码稍长,性能开销微乎其微
强烈推荐,需要生成链接、获取栏目ID、描述或进行其他复杂操作时。
SQL查询
{dede:sql}
理论上最灵活
性能差、维护难、可读性差
极其特殊的需求,且无法通过其他方式实现。尽量避免使用。
给你的最终建议:
- 如果只是想在页面上显示“本栏目:XXX”这样的简单文字,直接使用 方法一
{dede:field name='typename'/}。
- 在任何情况下,只要涉及到链接、面包屑导航、或者需要对栏目信息进行操作,请毫不犹豫地使用 方法二
{dede:type},这是最专业、最规范的做法。
希望这个详细的解释能帮助你更好地理解和使用织梦CMS!
这是最直接、最简单的方法,适用于绝大多数情况。

(图片来源网络,侵删)
标签代码:
{dede:field name='typename'/}
使用示例: 假设你想在文章标题下方显示一个“栏目导航”或者简单的栏目名,可以这样写:
<h1>{dede:field.title/}</h1>
<p>栏目:<strong>{dede:field name='typename'/}</strong></p>
<div>
{dede:field.body/}
</div>
优点:
- 简单直接:代码量最少,易于理解和记忆。
- 高效:直接从当前文章的数据中读取栏目名称,性能最好。
局限性:

(图片来源网络,侵删)
- 无法进行二次处理:这个标签直接输出原始的栏目名称,如果你想在输出前对其进行修改(只显示前5个字符、转换大小写等),这个标签就无能为力了。
使用 {dede:type} 单循环标签(功能最强大)
当你需要对栏目名称进行更复杂的操作时,{dede:type} 标签是最佳选择,它相当于一个单篇文章的循环,可以让你像在列表页调用栏目信息一样,获取当前栏目的各种属性。
标签代码:
{dede:type}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:type}
代码解析:
{dede:type}...{/dede:type}:这是一个成对的循环标签。[field:typename/]:获取当前栏目的名称。[field:typelink/]:获取当前栏目的链接地址。[field:typedir/]:获取当前栏目的目录路径(通常用于链接)。[field:description/]:获取当前栏目的描述。
使用示例 1:显示带链接的栏目名称

(图片来源网络,侵删)
<p>您所在的位置是:<a href="{dede:global.cfg_cmsurl/}/">首页</a> > {dede:type}<a href="[field:typelink/]">[field:typename/]</a>{/dede:type}</p>
这段代码会生成类似“首页 > 技术文章”这样的面包屑导航,技术文章”是一个可点击的链接。
使用示例 2:获取栏目ID并进行判断
{dede:type}
当前栏目ID是:[field:id/]
{/dede:type}
这个功能在需要根据栏目ID进行特殊判断或调用其他数据时非常有用。
优点:
- 功能强大:不仅能获取名称,还能获取栏目ID、链接、描述等所有信息。
- 灵活性高:可以对输出内容进行任意处理和格式化。
- 可以生成链接:这是
{dede:field name='typename'}无法做到的。
局限性:
- 代码稍长:比第一种方法多了一对标签。
- 性能开销:虽然对单页影响微乎其微,但从原理上讲,它比直接调用字段要多一次数据库查询(获取当前栏目的信息)。
使用SQL查询(不推荐,仅作了解)
在某些极其特殊的情况下,你可能需要通过直接执行SQL语句来获取栏目信息,但强烈不推荐在模板文件中直接写SQL,因为它会增加数据库负担,并且代码可读性差,容易出错。
标签代码:
{dede:sql sql="SELECT typename FROM dede_arctype WHERE id=~id~"}
[field:typename/]
{/dede:sql}
代码解析:
dede_arctype是织梦存放栏目的表。~id~是织梦的一个特殊变量,代表当前文章的栏目ID。
为什么不推荐?
- 性能差:每次打开文章页都会执行一次额外的SQL查询。
- 维护困难:如果未来表结构发生变化,这段代码就会失效。
- 有更优替代:方法一和方法二已经能满足99.9%的需求。
总结与选择建议
| 方法 | 标签代码 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 直接调用字段 | {dede:field name='typename'/} |
最简单、最高效 | 无法二次处理、无法生成链接 | 仅需显示纯文本栏目名称,无任何额外需求。 |
| 单循环标签 | {dede:type}[field:typename/]{/dede:type} |
功能最强大、最灵活 | 代码稍长,性能开销微乎其微 | 强烈推荐,需要生成链接、获取栏目ID、描述或进行其他复杂操作时。 |
| SQL查询 | {dede:sql} |
理论上最灵活 | 性能差、维护难、可读性差 | 极其特殊的需求,且无法通过其他方式实现。尽量避免使用。 |
给你的最终建议:
- 如果只是想在页面上显示“本栏目:XXX”这样的简单文字,直接使用 方法一
{dede:field name='typename'/}。 - 在任何情况下,只要涉及到链接、面包屑导航、或者需要对栏目信息进行操作,请毫不犹豫地使用 方法二
{dede:type},这是最专业、最规范的做法。
希望这个详细的解释能帮助你更好地理解和使用织梦CMS!
