使用 GetOneTypeArt 标签(推荐,最常用)
这是调用单个栏目文章列表最核心、最灵活的方法,它可以获取指定栏目下的文章列表,并支持非常多的自定义参数。

基本语法
{dede:arclist typeid='栏目ID' titlelen='30' row='10'}
<a href="[field:arcurl/]">[field:title/]</a>
<br>
{/dede:arclist}
注意: 虽然标签名是 arclist (文章列表),但当它带有 typeid 属性时,它就变成了获取指定栏目下的文章列表。
标签属性详解
| 属性名 | 含义 | 示例 |
|---|---|---|
| typeid | (必填) 要获取文章的栏目ID,你可以在后台“栏目管理”中查看每个栏目的ID。 | typeid='1' |
| row | 调用文章的数量。 | row='5' (调用5条) |
| infolen | 内容简介长度。 | infolen='100' |
| orderby | 排序方式,常用值:pubdate (发布时间,默认)、click (点击量)、id (文章ID)。 |
orderby='click' |
| orderway | 排序方向。desc (降序,默认)、asc (升序)。 |
orderway='asc' |
| channelid | 模型ID,默认为1 (文章),如果是其他模型,需要填写对应的ID。 | channelid='1' |
| idlist | 调用指定ID的文章,多个ID用逗号隔开。typeid 属性无效。 |
idlist='10,22,35' |
| subday | 调用指定天数内发布的文章。 | subday='7' (调用最近7天发布的文章) |
完整示例
假设我们要调用 ID 为 2 的“产品中心”栏目下的 8 篇文章,按发布时间倒序排列,标题显示 25 个字符。
<h2>产品中心</h2>
<ul>
{dede:arclist typeid='2' row='8' titlelen='25' orderby='pubdate' orderway='desc'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span class="date">([field:pubdate function="MyDate('Y-m-d', @me)"/])</span>
</li>
{/dede:arclist}
</ul>
字段说明:
[field:arcurl/]: 文章的完整链接地址。[field:title/]:文章标题。[field:pubdate function="MyDate('Y-m-d', @me)"/]: 文章发布时间,MyDate是 DedeCMS 的日期格式化函数,'Y-m-d'是输出格式 (年-月-日)。
使用 type 标签调用栏目本身信息
如果你只想获取栏目本身的信息,比如栏目名称、栏目简介、栏目链接等,而不想获取该栏目下的文章列表,那么应该使用 假设我们要在页面上显示 ID 为 注意: 如果栏目简介支持HTML代码,并且你希望保留格式,可以使用 当 ⚠️ 警告: 此方法需要对数据库和SQL语句有一定了解,使用不当可能导致网站出错或安全风险,请谨慎使用。 说明: 这是最关键的一步,获取栏目ID有两种常用方法: 后台查看法: 页面源码查看法(推荐): 对于绝大多数情况,方法一 (type
基本语法
{dede:type typeid='栏目ID'}
<a href="[field:typeurl/]">[field:typename/]</a>
<p>[field:description/]</p>
{/dede:type}
标签属性与字段
属性/字段
含义
typeid
(必填) 栏目的ID。
[field:typeurl/]该栏目的链接地址。
[field:typename/]该栏目的名称。
[field:description/]该栏目的简介。
[field:seotitle/]该栏目的SEO标题。
[field:keyword/]该栏目的关键词。
完整示例
3 的“关于我们”栏目的名称和简介。
<div class="about-us">
<h3>{dede:type typeid='3'}[field:typename]{/dede:type}</h3>
<p>{dede:type typeid='3'}[field:description]{/dede:type}</p>
</div>
[field:description function='htmlspecialchars(@me)'/] 来避免HTML标签被转义。
结合 SQL 查询(高级用法)
arclist 标签无法满足复杂的查询需求时(跨栏目查询、按特定自定义字段查询等),可以直接使用 DedeCMS 的 sql 标签执行自定义的 SQL 语句。基本语法
{dede:sql sql='SELECT arc.id, arc.title, arc.litpic, tp.typename FROM dede_archives arc LEFT JOIN dede_arctype tp ON arc.typeid = tp.id WHERE arc.typeid = 栏目ID LIMIT 10'}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:sql}
示例:调用 ID 为
2 的栏目下的文章,并显示缩略图。{dede:sql sql='SELECT id, title, litpic FROM dede_archives WHERE typeid = 2 AND litpic != "" ORDER BY id DESC LIMIT 6'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">
<img src="[field:litpic/]" alt="[field:title/]">
<span>[field:title/]</span>
</a>
</li>
{/dede:sql}

dede_archives 是存储文章核心数据的表。litpic 是缩略图字段。[field:arcurl/] 和 [field:title/] 在 sql 标签中依然可用,DedeCMS 会自动处理。
如何获取栏目ID?
.../catalog_do.php?cid=2&dopost=edit,其中的 cid=2 就是这个栏目的ID。
https://www.yoursite.com/a/list-2.html,其中的 list-2.html 的 2 就是该栏目的ID。
需求
推荐标签
优点
调用某个栏目的文章列表
{dede:arclist typeid='ID'}...{/dede:arclist}最常用、最灵活、性能最好
调用栏目本身的名称、简介等
{dede:type typeid='ID'}...{/dede:type}专门用于获取栏目信息,代码简洁
复杂的、自定义的查询
{dede:sql sql='...'}...{/dede:sql}功能最强大,但需要SQL知识,有风险
arclist) 就足以满足调用单个栏目文章的需求,希望这个详细的解释能帮助你!
