基础用法:调用指定栏目的文章列表
这是最核心的用法。typeid 属性用于指定你想要调用文章列表的栏目 ID。

找到栏目 ID
你需要知道目标栏目的 ID。
- 登录 DedeCMS 后台。
- 进入「核心」 -> 「栏目管理」。
- 找到你想要调用的栏目,将鼠标悬停在该栏目上,浏览器左下角会显示链接,
cid=后面的数字就是该栏目的 ID。https://www.yoursite.com/dede/catalog_add.php?cid=15,那么这个栏目的 ID15。
在模板中使用 list
在你需要显示列表的模板文件(通常是 list_article.htm 或你自定义的列表页模板)中,使用以下代码:
{dede:list typeid='15' pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
代码解析:
{dede:list}: 这是 DedeCMS 的列表循环开始标签。
typeid='15': 这是关键,它告诉 DedeCMS 只调用 ID 为 15 的栏目下的文章。
pagesize='10': (可选) 指定每页显示的文章数量,默认是 20 篇。
[field:arcurl/]: 调用文章的完整链接。
[field:title/]: 调用文章的标题。
[field:pubdate ... /]: 调用文章的发布时间,并通过 function 修饰符格式化为 年-月-日 的格式。
{/dede:list}: 循环结束标签。
进阶用法:调用多个栏目的文章列表
如果你想同时调用多个不同栏目的文章列表,只需要在 typeid 属性中用英文逗号 隔开这些栏目的 ID 即可。
(图片来源网络,侵删)
示例: 调用 ID 为 15 和 18 的两个栏目的文章。
{dede:list typeid='15,18' pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
特殊用法:调用指定栏目及其所有子栏目的文章列表
这是一个非常实用的功能,比如你想调用“产品中心”栏目(父栏目)及其下所有“手机”、“电脑”等子栏目的文章。
找到父栏目 ID
和之前一样,在「栏目管理」中找到父栏目的 ID,假设为 10。
使用 typeid 属性并加上特殊标记
在 typeid 属性中,直接使用父栏目的 ID,DedeCMS 会自动包含其所有子栏目。
{dede:list typeid='10' pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
注意: 这种方式调用的列表,默认情况下是按照所有子栏目的文章混合在一起排序的,如果你希望按栏目分组显示,则需要更复杂的嵌套标签结构,但这通常不是 list 标签的职责,而是 channel 和 arclist 标签的组合使用。
常见问题与注意事项
为什么指定了 typeid 但没有内容?
- ID 错误:最常见的原因是
typeid 的值写错了,请再次核对后台栏目的 ID。
- 栏目为空:该栏目下确实没有发布任何文章,请去后台检查一下。
- 权限问题:该栏目可能设置了浏览权限,而当前访问的用户没有权限查看。
- 模板缓存:DedeCMS 有模板缓存机制,修改模板后,请务必在后台点击「系统」 -> 「一键更新网站」 -> «更新缓存»,或者删除
/data/tplcache 目录下的缓存文件。
list 标签和 arclist 标签有什么区别?
这是一个非常重要的区别,新手很容易混淆。
特性
{dede:list}
{dede:arclist}
使用场景
列表页 (如 list_article.htm)
首页、栏目页、内容页 等任何地方
分页
自动支持分页,配合 {dede:pagelist} 标签使用。
不支持自动分页,如果想分页,需要手动处理或使用其他方法。
功能
功能相对简单,主要用于生成一个标准的、可分页的文章列表。
功能非常强大,可以灵活地调用指定栏目、指定数量、排序方式的文章,常用于首页推荐、热门文章、相关文章等。
性能
在列表页中,list 标签是经过优化的,性能较好。
功能强大,但复杂查询可能对性能有一定影响。
简单总结:
- 要做列表页(带分页的) -> 用
{dede:list}。
- 要在首页或其他页面调用几篇文章(不带分页的) -> 用
{dede:arclist}。
如何在首页调用指定栏目的列表?
虽然你的问题是关于 list 标签的,但很多人会把这个需求搞混,如果想在首页调用某个栏目的列表,应该使用 arclist
示例:在首页调用 ID 为 15 的栏目的最新 8 篇文章。
{dede:arclist typeid='15' titlelen='30' row='8'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
arclist 没有 pagesize 属性,而是用 row 来控制显示的数量。
希望这份详细的解释能帮助你完全掌握在 DedeCMS 中使用 list 标签指定 ID 的方法!
在你需要显示列表的模板文件(通常是 list_article.htm 或你自定义的列表页模板)中,使用以下代码:
{dede:list typeid='15' pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
代码解析:
{dede:list}: 这是 DedeCMS 的列表循环开始标签。typeid='15': 这是关键,它告诉 DedeCMS 只调用 ID 为15的栏目下的文章。pagesize='10': (可选) 指定每页显示的文章数量,默认是 20 篇。[field:arcurl/]: 调用文章的完整链接。[field:title/]:调用文章的标题。[field:pubdate ... /]: 调用文章的发布时间,并通过function修饰符格式化为年-月-日的格式。{/dede:list}: 循环结束标签。
进阶用法:调用多个栏目的文章列表
如果你想同时调用多个不同栏目的文章列表,只需要在 typeid 属性中用英文逗号 隔开这些栏目的 ID 即可。

示例: 调用 ID 为 15 和 18 的两个栏目的文章。
{dede:list typeid='15,18' pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
特殊用法:调用指定栏目及其所有子栏目的文章列表
这是一个非常实用的功能,比如你想调用“产品中心”栏目(父栏目)及其下所有“手机”、“电脑”等子栏目的文章。
找到父栏目 ID
和之前一样,在「栏目管理」中找到父栏目的 ID,假设为 10。
使用 typeid 属性并加上特殊标记
在 typeid 属性中,直接使用父栏目的 ID,DedeCMS 会自动包含其所有子栏目。
{dede:list typeid='10' pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
注意: 这种方式调用的列表,默认情况下是按照所有子栏目的文章混合在一起排序的,如果你希望按栏目分组显示,则需要更复杂的嵌套标签结构,但这通常不是 list 标签的职责,而是 channel 和 arclist 标签的组合使用。
常见问题与注意事项
为什么指定了 typeid 但没有内容?
- ID 错误:最常见的原因是
typeid的值写错了,请再次核对后台栏目的 ID。 - 栏目为空:该栏目下确实没有发布任何文章,请去后台检查一下。
- 权限问题:该栏目可能设置了浏览权限,而当前访问的用户没有权限查看。
- 模板缓存:DedeCMS 有模板缓存机制,修改模板后,请务必在后台点击「系统」 -> 「一键更新网站」 -> «更新缓存»,或者删除
/data/tplcache目录下的缓存文件。
list 标签和 arclist 标签有什么区别?
这是一个非常重要的区别,新手很容易混淆。
| 特性 | {dede:list} |
{dede:arclist} |
|---|---|---|
| 使用场景 | 列表页 (如 list_article.htm) |
首页、栏目页、内容页 等任何地方 |
| 分页 | 自动支持分页,配合 {dede:pagelist} 标签使用。 |
不支持自动分页,如果想分页,需要手动处理或使用其他方法。 |
| 功能 | 功能相对简单,主要用于生成一个标准的、可分页的文章列表。 | 功能非常强大,可以灵活地调用指定栏目、指定数量、排序方式的文章,常用于首页推荐、热门文章、相关文章等。 |
| 性能 | 在列表页中,list 标签是经过优化的,性能较好。 |
功能强大,但复杂查询可能对性能有一定影响。 |
简单总结:
- 要做列表页(带分页的) -> 用
{dede:list}。 - 要在首页或其他页面调用几篇文章(不带分页的) -> 用
{dede:arclist}。
如何在首页调用指定栏目的列表?
虽然你的问题是关于 示例:在首页调用 ID 为 希望这份详细的解释能帮助你完全掌握在 DedeCMS 中使用 list 标签的,但很多人会把这个需求搞混,如果想在首页调用某个栏目的列表,应该使用 arclist
15 的栏目的最新 8 篇文章。{dede:arclist typeid='15' titlelen='30' row='8'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:arclist}
arclist 没有 pagesize 属性,而是用 row 来控制显示的数量。list 标签指定 ID 的方法!
