这个功能主要通过织梦的模板引擎和来实现,用于在网站前台页面(如首页、栏目页、列表页)动态地调用和展示文章列表。

(图片来源网络,侵删)
下面我将从几个方面为你全面拆解“织梦内容列表”:
什么是织梦内容列表?
内容列表就是网站上展示文章、图片、软件等内容摘要的区域。
- 首页的文章列表:显示最新发布的几篇文章标题、摘要和发布时间。
- 栏目页的文章列表:显示某个特定分类(如“技术分享”、“新闻动态”)下的所有文章。
- 搜索结果页:根据用户的关键词搜索出的文章列表。
这些列表都不是手动维护的HTML代码,而是通过织梦的标签动态从数据库中读取数据并生成的。
列表的核心标签
织梦使用一套类似HTML的标签语法来实现动态内容调用,最核心、最常用的标签是 arclist 和 list。

(图片来源网络,侵删)
A. {dede:arclist} - 任意列表调用标签
这是最灵活、最常用的列表标签,可以在任何模板页面(首页、栏目页、自定义页面等)使用,用于调用任意条件的内容列表。
基本语法:
{dede:arclist flag='h' typeid='' row='' col='' titlelen='' orderby='' keyword=''}
<a href="[field:arcurl/]">[field:title/]</a>
<p>[field:description function='cn_substr(@me,100)'/]...</p>
<span>[field:pubdate function='MyDate('Y-m-d',@me)'/]</span>
{/dede:arclist}
常用属性说明:
| 属性名 | 说明 | 示例 |
|---|---|---|
typeid |
指定栏目ID,多个ID用逗号隔开,这是最常用的属性之一。 | typeid='1,3' (调用栏目ID为1和3下的文章) |
row |
获取记录条数,即显示多少篇文章。 | row='10' (显示10篇文章) |
col |
分多少列显示(主要用于表格布局,现在较少用)。 | col='2' (分2列显示) |
infolen |
内容摘要长度,截取多少个字符作为摘要。 | infolen='100' (摘要最多显示100个字符) |
orderby |
排序方式,常用值:pubdate(发布时间,默认)、hot(点击量)、rand(随机)。 |
orderby='hot' (按点击量从高到低排序) |
keyword |
关键词,调用包含指定关键词的文章。 | keyword='织梦' (调用标题或内容包含“织梦”的文章) |
flag |
特殊属性,用逗号隔开,常用值:'h'(头条)、'c'(推荐)、'p'(图片)、's'(跳转)。 |
flag='h,c' (调用头条和推荐的文章) |
channelid |
指定频道ID,默认为1(文章),可以调用其他模型的内容。 | channelid='2' (调用图集模型的内容) |
常用字段说明(在 arclist 标签内使用):

(图片来源网络,侵删)
| 字段名 | 说明 | 示例 |
|---|---|---|
[field:title/] |
<a href="[field:arcurl/]">[field:title/]</a> |
|
[field:arcurl/] |
文章链接 | <a href="[field:arcurl/]">查看详情</a> |
[field:description/] |
文章摘要 | [field:description/] |
[field:pubdate/] |
发布时间(时间戳格式) | [field:pubdate function='MyDate('Y-m-d',@me)'/] |
[field:click/] |
文章点击量 | 点击:[field:click/]次 |
[field:litpic/] |
文章缩略图 | <img src="[field:litpic/]" alt="[field:title/]"> |
[field:id/] |
文章ID | 文章ID:[field:id/] |
B. {dede:list} - 栏目列表页专用标签
这个标签只能在栏目列表页模板(list_栏目ID.htm)中使用,它不需要指定 typeid,因为系统会自动获取当前栏目的ID。
基本语法:
{dede:list pagesize='10'}
<li>
<span class="title"><a href="[field:arcurl/]">[field:title/]</a></span>
<span class="date">[field:pubdate function='MyDate('Y-m-d',@me)'/]</span>
<span class="click">点击:[field:click/]</span>
</li>
{/dede:list}
与 arclist 的区别:
- 使用范围:
list只能在栏目列表页用;arclist任何地方都能用。 - 栏目指定:
list自动识别当前栏目;arclist必须手动用typeid指定。 - 分页:
list内部直接包含了分页逻辑,配合{dede:pagelist/}标签使用;arclist通常不处理分页,它只调用固定数量的数据。
{dede:list} 的主要属性:
pagesize: 每页显示的文章数量,这是list标签里最重要的属性。
实战案例:首页调用热门文章
假设我们想在首页的侧边栏显示“热门推荐”文章,要求:
- 调用“技术分享”和“产品动态”两个栏目(假设ID为 2 和 3)。
- 按点击量排序。
- 只显示5条,显示20个字符,摘要显示50个字符。
步骤:
- 进入织梦后台 -> 模板 -> 默认模板管理。
- 找到你的首页模板文件(通常是
index.htm)。 - 在你希望显示“热门推荐”的位置,添加以下代码:
<h3>热门推荐</h3>
<ul class="hot-list">
{dede:arclist typeid='2,3' row='5' orderby='click' titlelen='20' infolen='50'}
<li>
<a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a>
<p>[field:description function='cn_substr(@me,50)'/]...</p>
</li>
{/dede:arclist}
</ul>
- 保存模板,然后到后台 -> 生成 -> 更新主页,刷新首页即可看到效果。
进阶技巧
A. 条件判断 {dede:if}
在列表循环中,你可能需要对某些数据进行判断,如果有缩略图才显示”。
{dede:arclist row='5'}
{dede:if !empty(@me['litpic'])}
<img src="[field:litpic/]" alt="[field:title/]">
{/dede:if}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
B. 循环输出 {dede:field} 与 {dede:global}
{dede:field}:用于获取当前页面的单一字段,如栏目名称{dede:field name='typename'/}。{dede:global}:用于获取全局变量,如网站名称{dede:global name='cfg_webname'/}。
C. 列表分页 {dede:pagelist}
当使用 {dede:list} 时,在标签结束后添加分页代码:
{dede:list pagesize='10'}
<!-- 文章列表项 -->
{/dede:list}
<!-- 分页条 -->
<div class="dede_pages">
<ul>
<li><span class="pageinfo">共 <strong>{dede:field.totalpage/}</strong> 页 <strong>{dede:field.totalnum/}</strong> 条记录</span></li>
{dede:pagelist listsize='4' listitem='pre,next,end,option,pageno'}
</ul>
</div>
常见问题排查
-
列表调用不出来?
- 检查标签拼写是否正确,特别是
{dede:}和{/dede:}。 - 检查
typeid是否正确,栏目是否存在。 - 检查
row是否为0。 - 检查栏目是否设置了“使用列表页模板”。
- 检查对应栏目下是否有已发布的文章。
- 检查标签拼写是否正确,特别是
-
样式错乱?
- 检查HTML标签结构是否完整。
- 检查CSS样式是否正确,列表的样式通常由外层容器(如
ul,div)控制,而不是标签本身。
-
分页不显示?
- 确认你使用的是
{dede:list}而不是{dede:arclist}。 - 确认栏目列表页模板文件存在(如
list_2.htm)。 - 确认文章总数超过了
pagesize的设置。
- 确认你使用的是
掌握织梦的 content list 是使用织梦CMS建站的基础。
{dede:arclist}是你的“瑞士军刀”,灵活强大,适用于绝大多数列表调用场景。{dede:list}是你的“专用工具”,专为栏目列表页设计,自带分页功能。
理解这两个标签的属性(控制调用什么数据)和字段(控制如何显示数据),你就能轻松构建出网站前台所需的各种内容列表,多练习,多看官方文档,很快就能熟练运用。
