dede list与artlist用法区别是什么?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 DEDE建站 正文

核心概念与设计定位

{dede:list} - 专用列表页标签

  • 设计定位{dede:list}专门为“列表页面”设计的标签,在DedeCMS中,列表页面(通常是 list_栏目ID.htmlindex.html)的主要任务就是展示文章的摘要信息,如标题、缩略图、简介、发布时间等,并提供分页功能。
  • 工作原理:它通常与分页标签 {dede:pagelist} 紧密绑定,一次性获取当前页所需的数据(每页20条),然后进行展示,它内部通常已经包含了调用文章摘要(description)和缩略图(litpic)的逻辑。
  • 核心特点为分页而生,功能内聚,它是一个“一站式”的解决方案,专门用来构建标准的列表页。

{dede:arclist} - 万能文章列表标签

  • 设计定位{dede:arclist} 是一个功能极其强大的“通用”文章列表标签,它的设计初衷是在任何需要显示文章的地方(不仅仅是列表页)灵活地调用文章数据。
  • 工作原理:它像一个“瑞士军刀”,通过丰富的参数来精确控制要获取哪些文章、获取多少条、如何排序、显示哪些字段等,它不直接处理分页,分页需要通过其他方式(如PHP代码或特定参数)来实现。
  • 核心特点高度灵活,无所不能,你可以用它来调用首页推荐、热门文章、相关文章、栏目头条等任何场景下的文章列表。

详细对比表格

特性 {dede:list} {dede:arclist}
主要用途 专用列表页(如 list_*.html 通用场景(首页、列表页、内容页、自定义页面等)
分页功能 内置且必须与 {dede:pagelist} 配合使用 不直接支持,需要手动编写PHP代码或使用特定参数(如 limit)实现分页逻辑
默认字段 通常只包含标题、缩略图、简介、时间等列表常用字段 可以调用文章的所有字段,如 id, title, description, writer, pubdate, click, body (内容) 等
灵活性 较低,参数相对固定,主要用于列表展示 极高,拥有几十个参数,可以精确控制查询条件、排序、显示数量等
性能 在列表页场景下,性能较好且稳定,因为它为该场景做了优化 如果使用不当(如调用过多数据、字段过多),性能可能受影响,但正确使用下效率很高
典型使用场景 - 栏目列表页
- 首页文章列表(需配合分页)
- 首页焦点图/推荐位
- 内容页的相关文章/热门文章
- 自定义页面调用特定栏目文章
- 调用指定ID的文章
- 任何需要非标准列表的地方

代码示例与使用场景

标准的栏目列表页

这是 {dede:list} 的“主场”,假设我们要在 list_1.html (栏目ID为1的列表页) 中显示文章。

dede list和artlist
(图片来源网络,侵删)

模板代码 (list_1.html):

{dede:list pagesize='20'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
        <p>[field:description/]...</p>
        <img src="[field:litpic/]" alt="[field:title/]">
    </li>
{/dede:list}
<!-- 分页标签,必须放在 {dede:list} 标签之后 -->
<div class="dede_pages">
    <ul>
        {dede:pagelist listsize='4' listitem='pre,next,end,option,pageno'}
        </ul>
</div>

说明:

  • pagesize='20':设置每页显示20条文章。
  • [field:arcurl/]:文章链接。
  • [field:title/]
  • [field:description/]
  • [field:litpic/]:文章缩略图。
  • {dede:pagelist}:生成分页导航,listsizelistitem 用于控制分页页码的显示样式。

首页调用推荐文章(不涉及分页)

这是 {dede:arclist} 的经典应用,我们想在首页调用“推荐”属性的文章,并且只显示标题和链接。

模板代码 (index.html):

dede list和artlist
(图片来源网络,侵删)
<h3>网站推荐</h3>
<ul>
    {dede:arclist flag='c' titlelen='30' row='5'}
        <li>
            <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
        </li>
    {/dede:arclist}
</ul>

说明:

  • flag='c':调用属性为“推荐”(c is for 'commend') 的文章,len='30'`:标题长度限制为30个字符。
  • row='5':只调用5条文章。
  • 这里没有分页,因为首页通常只需要展示最新的几条。

内容页调用相关文章

这个场景 {dede:arclist} 也比 {dede:list} 更合适。

模板代码 (文章内容页 article_article.htm):

<h3>相关文章</h3>
<ul>
    {dede:arclist typeid='0' row='8' titlelen='24'}
        <li>
            <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
        </li>
    {/dede:arclist}
</ul>

说明:

dede list和artlist
(图片来源网络,侵删)
  • typeid='0':表示调用与当前文章同栏目下的文章。0 是一个特殊值,代表“当前栏目”。
  • row='8':显示8条相关文章。
  • 这个列表通常不需要分页,所以用 {dede:arclist} 非常方便。

总结与选择建议

什么时候用 {dede:list}

  • 当你创建一个标准的、需要分页的栏目列表页时,这是它的本职工作,使用它会最直接、最方便。
  • 遵循DedeCMS的默认结构,{dede:list} + {dede:pagelist} 是构建列表页的黄金组合。

什么时候用 {dede:arclist}

  • 在任何非标准列表页面的地方
    • 首页:调用推荐、热门、头条等。
    • 内容页:调用相关文章、上一篇/下一篇。
    • 自定义页面:调用特定条件下的文章列表。
    • 需要调用文章正文(body)等非摘要字段时
    • 需要非常复杂的查询条件时(按特定时间范围、特定作者、特定自定义字段等)。
  • 当你不需要分页,或者需要用PHP代码手动控制分页逻辑时。

  • 列表页(分页) -> {dede:list}
  • 其他所有地方(不分页或特殊需求) -> {dede:arclist}

掌握这两个标签的正确用法,能让你在DedeCMS模板开发中游刃有余,构建出既美观又高效的网站。

-- 展开阅读全文 --
头像
dede ucenter通信失败怎么办?
« 上一篇 2025-12-18
Bringder JNI如何用C语言实现?
下一篇 » 2025-12-18

相关文章

取消
微信二维码
支付宝二维码

目录[+]