在列表页(如 list_article.htm)调用(最常用)
这是最常见的需求,比如在列表页的面包屑导航或者页面标题中显示当前栏目标题。
方式 A:使用全局变量 {$typename} (推荐)
这是最简单、最直接的方法,DedeCMS在解析列表页时,会自动将当前栏目的名称存入全局变量 {$typename} 中。
示例代码:
<h1>您正在浏览:{$typename}</h1>
输出效果:
如果你的栏目是“网站建设”,那么页面会显示:
<h1>您正在浏览:网站建设</h1>
方式 B:使用 GetTopTypename() 获取顶级栏目名称
如果你想在列表页显示的是当前栏目的“顶级父栏目”的名称,可以使用这个函数。
示例代码:
<p>本栏目属于:{dede:field.typeid function="GetTopTypename(@me)"/}</p>
输出效果:
如果你的栏目结构是 “技术支持 > 网站建设”,那么页面会显示:
<p>本栏目属于:技术支持</p>
方式 C:使用 {dede:field} 标签获取当前栏目信息
这是一个更灵活、更强大的方法,不仅可以获取标题,还可以获取其他信息,如栏目ID、栏目链接、描述等。
示例代码:
<!-- 调用当前栏目标题 -->
<h2>{dede:field name='typename'/}</h2>
<!-- 调用当前栏目的链接(非常有用!) -->
<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<!-- 获取当前栏目的ID,可用于JS或其他逻辑 -->
当前栏目ID是:<span id="typeid">{dede:field name='typeid'/}</span>
{dede:field} 常用属性说明:
name='typename': 栏目名称name='typeurl': 栏目链接地址name='typeid': 栏目IDname='description': 栏目描述name='seotitle': SEO标题
页(如 article_article.htm)调用
页,你可能想在文章标题下方或面包屑中显示文章所属的栏目名称。
方式 A:使用 {dede:field} 标签(与列表页相同)
页,{dede:field} 标签同样可以调用文章所属栏目的信息,但需要加上 channel 或 typeid 属性来明确指定是调用栏目字段。
示例代码:
<!-- 调用文章所属栏目的名称 -->
文章分类:<a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>
<!-- 调用文章所属栏目的顶级栏目名称 -->
所属顶级分类:{dede:field typeid='' function='GetTopTypeme(@me)'/}
方式 B:使用 {dede:type} 标签(循环标签)
{dede:type} 是一个专门用于循环输出栏目信息的标签,在内容页调用当前栏目时,它会循环一次,非常适合获取完整的栏目信息。
示例代码:
{dede:type}
<p>
本文章属于栏目:<a href="[field:typeurl/]">[field:typename/]</a>
</p>
{/dede:type}
{dede:type} 内部常用字段:
[field:typename/]: 栏目名称[field:typeurl/]: 栏目链接[field:description/]: 栏目描述[field:seotitle/]: SEO标题
在首页(index.htm)调用指定栏目标题
有时候我们想在首页的某个位置调用一个特定栏目的标题,比如一个“最新公告”栏目标题。
使用 {dede:channel}
{dede:channel} 用于获取栏目列表,通过指定 typeid 属性可以调用指定栏目。
示例代码:
假设“最新公告”栏目的ID是 1。
{dede:channel typeid='1'}
<h3>[field:typename/]</h3>
<!-- 这里可以接着调用该栏目的文章列表 -->
{dede:arclist titlelen='30' row='5'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
{/dede:channel}
总结与对比
场景
推荐方法
示例代码
说明
列表页
全局变量 {$typename}
{$typename}
最简单,性能最好,仅用于显示名称。
列表页/内容页
{dede:field}
{dede:field name='typename'/}
灵活,可同时获取标题、链接、ID等多种信息。
首页/其他页
{dede:channel}
{dede:channel typeid='1'}[field:typename]{/dede:channel}
用于调用指定ID的栏目信息。
重要提示:
在修改模板文件(如 .htm 文件)后,请务必登录DedeCMS后台,点击 “生成” -> “更新HTML”,重新生成对应页面,才能看到修改后的效果。
希望这些方法能帮到您!
{dede:channel} 用于获取栏目列表,通过指定 typeid 属性可以调用指定栏目。
示例代码:
假设“最新公告”栏目的ID是 1。
{dede:channel typeid='1'}
<h3>[field:typename/]</h3>
<!-- 这里可以接着调用该栏目的文章列表 -->
{dede:arclist titlelen='30' row='5'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
{/dede:channel}
总结与对比
| 场景 | 推荐方法 | 示例代码 | 说明 |
|---|---|---|---|
| 列表页 | 全局变量 {$typename} |
{$typename} |
最简单,性能最好,仅用于显示名称。 |
| 列表页/内容页 | {dede:field}
| ||
| 首页/其他页 | {dede:channel}
|
重要提示:
在修改模板文件(如 .htm 文件)后,请务必登录DedeCMS后台,点击 “生成” -> “更新HTML”,重新生成对应页面,才能看到修改后的效果。
希望这些方法能帮到您!
