核心标签:{dede:arclist}
调用栏目文章内容,最核心、最强大的标签就是 {dede:arclist},它可以在任何模板(首页、栏目页、文章页等)中自由调用指定栏目下的文章列表。

下面我将详细解释 arclist 的各种用法。
调用当前栏目下的文章(最常用)
这是在栏目页或列表页中最常见的用法,即显示当前栏目本身的文章。
场景:你正在 栏目A 的模板文件(如 list_article.htm)中,希望只显示 栏目A 下的文章。
代码示例:

<ul>
{dede:arclist titlelen='30' row='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function='MyDate('Y-m-d', @me)'/]</span>
</li>
{/dede:arclist}
</ul>
代码解析:
{dede:arulist ...}: 开始调用文章列表,len='30'`: 调用文章标题的长度,最多显示30个字符。row='10': 调用文章的数量,共显示10篇。[field:arcurl/]: 调用文章的链接地址。[field:title/]: 调用文章的标题。[field:pubdate ...]: 调用文章的发布日期。function='MyDate('Y-m-d', @me)': 这是一个函数,用于将日期格式化为年-月-日的格式。@me代表当前字段的原始值。
{/dede:arclist}: 调用结束。
关键点:在栏目页模板中,如果不指定 typeid,arclist 默认就会调用当前栏目下的文章。
调用指定ID栏目下的文章
如果你想在首页或者其他栏目页,调用某个特定栏目(比如ID为 5 的“公司新闻”)的文章,就需要使用 typeid 属性。
场景:在首页上,想显示“产品中心”(栏目ID为 3)的最新5篇文章。

代码示例:
<h2>产品中心最新动态</h2>
<ul>
{dede:arclist typeid='3' titlelen='30' row='5'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
代码解析:
typeid='3': 这是最关键的属性!它告诉织梦,请去调用栏目ID为 3 的文章,你可以通过织梦后台的【核心】->【栏目管理】中查看每个栏目的ID。row='5': 只显示5篇文章。"[field:title/]"给标签添加title` 属性,有助于SEO和用户体验。
调用多个指定栏目下的文章
如果你希望同时调用几个不同栏目的文章,可以将它们的ID用英文逗号 隔开。
场景:在首页上,同时显示“公司新闻”(ID=5)和“行业资讯”(ID=6)的最新文章。
代码示例:
<h2>新闻资讯</h2>
<ul>
{dede:arclist typeid='5,6' titlelen='30' row='8'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span class="cat">([field:typename/])</span>
</li>
{/dede:arclist}
</ul>
代码解析:
typeid='5,6': 调用ID为5和ID为6的栏目下的文章。[field:typename/]: 调用文章所在的栏目名称,这在调用多栏目时非常有用,可以告诉用户这篇文章来自哪个分类。
调用子栏目(包括所有下级栏目)下的文章
你可能需要调用一个栏目及其所有下级栏目的文章,在“产品中心”下,有“产品A”、“产品B”等子栏目,你想在“产品中心”的列表页显示所有这些子栏目的文章。
这时需要使用 typeid 和 son 或 sonall 属性。
场景:栏目ID为 2 的“产品中心”下有多个子栏目,希望在“产品中心”列表页显示所有子栏目的文章。
代码示例 1:只调用下一级子栏目(不包括孙栏目)
{dede:arclist typeid='2' son='yes' row='10'}
<li>...</li>
{/dede:arclist}
代码示例 2:调用所有下级栏目(包括子栏目、孙栏目等)
{dede:arclist typeid='2' sonall='yes' row='10'}
<li>...</li>
{/dede:arclist}
arclist 常用属性总结表
| 属性名 | 含义 | 示例 |
|---|---|---|
typeid |
指定栏目ID,调用该栏目下的文章。 | typeid='5' |
row |
调用文章的数量。 | row='10' |
infolen |
内容简介长度,字符数。 | infolen='120' |
orderby |
排序方式,常用值:pubdate (发布时间)、click (点击量)、id (文章ID)。 |
orderby='click' |
orderway |
排序方式。desc (降序,默认)、asc (升序)。 |
orderway='desc' |
channelid |
指定模型ID,用于调用不同模型的文章。 | channelid='1' (文章模型) |
limit |
起始位置, 调用数量。limit='0,5' 表示从第0篇开始,调用5篇。 |
limit='0,5' |
imgwidth & imgheight |
缩略图宽度和高度。 | imgwidth='100' imgheight='80' |
noflag |
排除特定属性的文章。noflag='h' 排除头条文章。 |
noflag='h' |
调用文章中的具体内容(正文)
场景:在首页显示文章列表,并且每条列表后面附带一小段正文内容。 代码示例: ⚠️ 重要提醒: 直接使用 正确做法是截取正文的一部分,通常配合 代码解析: 希望这份详细的指南能帮助你完全掌握在织梦中调用栏目文章内容的方法!arclist 默认只调用文章的摘要(description),如果想调用文章正文(body)的一部分,可以使用 innertext
<ul>
{dede:arclist row='3'}
<li>
<strong><a href="[field:arcurl/]">[field:title/]</a></strong>
<p>
[field:body/]
</p>
</li>
{/dede:arclist}
</ul>
[field:body/] 会调用文章的全部正文内容,这会导致页面非常臃肿,加载速度慢,并且可能破坏页面布局。function 函数实现:<ul>
{dede:arclist row='3'}
<li>
<strong><a href="[field:arcurl/]">[field:title/]</a></strong>
<p>
<!-- 截取body内容前200个字符,并过滤掉HTML标签 -->
[field:body function='cn_substr(html2text(@me), 200)'/]...
</p>
</li>
{/dede:arclist}
</ul>
html2text(@me): 将正文中的HTML标签(如 <p>, <br>)过滤掉,只保留纯文本。cn_substr(..., 200): 从纯文本中截取前200个字符。
总结与最佳实践
{dede:arclist} 是你的万能钥匙。typeid, row, titlelen, orderby 等属性精准控制输出内容。function 属性能让你的模板更强大、更灵活。
