织梦文章页如何调用栏目名称?

99ANYc3cd6
预计阅读时长 9 分钟
位置: 首页 织梦建站 正文

使用最简单的标签(最常用)

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

织梦文章页调用栏目名称
(图片来源网络,侵删)
{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/} &nbsp;|&nbsp;
    作者:{dede:field.writer/} &nbsp;|&nbsp;
    所属栏目:<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,但它不如方法一灵活和规范。

希望这些方法能帮到您!

-- 展开阅读全文 --
头像
C语言函数在Arduino中如何高效应用?
« 上一篇 前天
C语言如何打出Hello World?
下一篇 » 前天

相关文章

取消
微信二维码
支付宝二维码

目录[+]