使用最简单的标签(最常用)
这是最直接、最简单的方法,适用于绝大多数情况,直接在文章页模板中使用以下标签即可:

(图片来源网络,侵删)
{dede:type}[field:typename/]{/dede:type}
代码解析:
{dede:type}...{/dede:type}:这是一个循环标签,用于获取当前文档所在的栏目信息,在文章页中,它只会循环一次,所以效果就是直接获取当前栏目。[field:typename/]:这是在{dede:type}标签内部使用的字段标签,用于显示栏目的“名称”。
使用示例: 假设您想在文章标题下方显示一个“所属栏目”的提示,可以这样写:
<h1>{dede:field.title/}</h1>
<p class="article-info">
来源:{dede:field.source/} |
作者:{dede:field.writer/} |
所属栏目:<a href="{dede:type}[field:typelink/]{/dede:type}">{dede:type}[field:typename/]{/dede:type}</a>
</p>
在这个例子中,我们不仅调用了栏目名称,还调用了栏目链接 typelink,并制作了一个可点击的链接,用户体验更好。
使用SQL查询标签(更灵活)
如果您需要获取栏目更多的信息,或者想在更复杂的逻辑中使用栏目名称,可以使用 dede:sql 标签直接查询数据库。

(图片来源网络,侵删)
代码:
{dede:sql sql="SELECT typename FROM `dede_arctype` WHERE id = ~typeid~"}
[field:typename/]
{/dede:sql}
代码解析:
dede:sql:执行自定义SQL语句的标签。SELECT typename FROM dede_arctype WHERE id = ~typeid~:typename:我们要查询的字段,即栏目名称。dede_arctype:织梦存放栏目信息的默认数据表。id = ~typeid~:这是关键。typeid是织梦文章页的一个内置变量,代表当前文章的栏目ID。~typeid~是dede:sql标签中用来引用系统变量的方式。
[field:typename/]:用于显示查询结果中typename字段的值。
适用场景: 当您需要获取栏目除了名称外的其他信息时,这个方法非常方便,同时获取栏目名称和栏目描述:
{dede:sql sql="SELECT typename, description FROM `dede_arctype` WHERE id = ~typeid~"}
<p>栏目名称:[field:typename/]</p>
<p>栏目描述:[field:description/]</p>
{/dede:sql}
使用全局变量 $typename(最简洁)
在织梦的文章页PHP代码中,已经有一个全局变量 $typename 存储了当前栏目的名称,您可以在模板文件中直接调用这个PHP变量。

(图片来源网络,侵删)
代码:
<?=$typename?>
或者使用更完整的PHP语法:
<?php echo $typename; ?>
代码解析:
<?=$typename?>这是PHP的简写语法,等同于<?php echo $typename; ?>,用于直接输出变量的值。- 这个
$typename变量是在文章页被加载时,由系统自动从数据库中查询并赋值的。
适用场景:
当您只需要一个快速的、无任何额外标签的输出时,这个方法最简洁,缺点是它无法像 {dede:type} 那样直接获取其他字段(如链接)。
总结与对比
| 方法 | 代码示例 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|---|
{dede:type} |
{dede:type}[field:typename/]{/dede:type} |
最规范、最推荐,语法清晰,可扩展性强(轻松获取typelink, seotitle等)。 |
标签稍长。 | ★★★★★ |
{dede:sql} |
{dede:sql sql="..."}[field:typename/]{/dede:sql} |
非常灵活,可以自由获取栏目的任何字段信息。 | 代码稍复杂,直接操作数据库,对新手不友好。 | ★★★★☆ |
$typename |
<?=$typename?> |
最简洁,代码最少,执行效率高。 | 功能单一,只能获取名称,无法获取链接等其他信息。 | ★★★☆☆ |
给您的建议
- 如果您只是想在文章页显示栏目名称或栏目链接,请毫不犹豫地使用方法一
{dede:type},这是织梦官方推荐的标准用法,也是最稳定、最方便的。 - 如果您除了名称,还需要栏目的其他信息(如栏目简介、关键字、自定义字段等),请使用方法二
{dede:sql}。 - 如果您只是想快速地、简单地输出一下名称,不关心其他,可以使用方法三
$typename,但它不如方法一灵活和规范。
希望这些方法能帮到您!
