下面我将为你详细讲解如何使用 {dede:arclist} 标签来调用前几篇文章,并提供多种场景下的代码示例和参数说明。

(图片来源网络,侵删)
核心标签:{dede:arclist}
{dede:arclist} 是织梦用于调用文章列表最强大、最常用的标签,它可以通过各种参数来精确地筛选和排序你需要的文章。
基本语法和常用参数
{dede:arclist
typeid='0'
row='10' len='30'
orderby='pubdate'
orderway='desc'
}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
参数详解:
-
typeid(栏目ID)- 作用:指定从哪个栏目调用文章。
- 值:
typeid='0':调用所有栏目的文章(包括子栏目)。typeid='1':只调用栏目ID为1的文章。typeid='1,2,3':调用栏目ID为1、2、3的文章。typeid='1,3':调用栏目ID为1和3的文章,不包含它们的子栏目。typeid='top':调用顶级栏目下的文章。
-
row(调用数量)- 作用:设置要调用的文章数量,这是实现“前几篇”最关键的参数。
- 值:一个整数,
row='5'表示调用5篇文章。
-
titlelen(标题长度)
(图片来源网络,侵删)- 作用:设置文章标题显示的字符长度。
- 值:一个整数,
titlelen='30'表示标题最多显示30个字符,超出部分用省略号...代替。
-
orderby(排序方式)- 作用:定义文章的排序依据。
- 常用值:
orderby='pubdate':按发布时间排序(最常用)。orderby='click':按点击量排序。orderby='id':按文章ID排序。orderby='rand':随机排序。
-
orderway(排序顺序)- 作用:与
orderby配合使用,决定是升序还是降序。 - 常用值:
orderway='desc':降序(从大到小,最新/点击量最高在前)。orderway='asc':升序(从小到大,最旧/点击量最低在前)。
- 作用:与
-
channelid(模型ID)- 作用:指定调用的内容模型。
- 值:
channelid='1':默认的文章模型。channelid='2':下载模型。channelid='3':图片模型。channelid='-1':表示调用所有模型的文章。
常用场景代码示例
示例1:调用全站最新的5篇文章
这是最常见的需求,比如在首页显示“最新文章”板块。
<h3>最新文章</h3>
<ul>
{dede:arclist row='5' titlelen='30' orderby='pubdate' orderway='desc'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
代码解释:
row='5':调用5篇文章。orderby='pubdate' orderway='desc':按发布时间倒序排列,即最新的排在最前面。
示例2:调用指定栏目ID为5的最新3篇文章
比如你想在侧边栏显示某个特定栏目(如“产品中心”)的最新文章。
<h3>产品中心</h3>
<ul>
{dede:arclist typeid='5' row='3' titlelen='20' orderby='pubdate' orderway='desc'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
</li>
{/dede:arclist}
</ul>
代码解释:
typeid='5':限定了只从栏目ID为5的栏目中调用。row='3':只调用3篇。
示例3:调用全站点击量最高的5篇文章(热门文章)
<h3>热门文章</h3>
<ul>
{dede:arclist row='5' titlelen='30' orderby='click' orderway='desc'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span>阅读:[field:click/]</span>
</li>
{/dede:arclist}
</ul>
代码解释:
orderby='click' orderway='desc':按点击量从高到低排序。
示例4:调用带缩略图和摘要的文章列表
很多时候我们需要更丰富的信息展示。
{dede:arclist row='4' titlelen='40' orderby='pubdate' orderway='desc'}
<div class="article-item">
<a href="[field:arcurl/]" class="img-link">
<img src="[field:litpic/]" alt="[field:title/]" />
</a>
<div class="article-info">
<h4><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></h4>
<p class="summary">[field:description function='cn_substr(@me, 100)'/]...</p>
<span class="date">[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</div>
</div>
{/dede:arclist}
代码解释:
[field:litpic/]:文章的缩略图地址。[field:description/]:文章的摘要。function='cn_substr(@me, 100)':这是一个自定义函数,用于截取摘要的前100个字符。
重要注意事项
-
缓存问题:织梦有强大的缓存机制,如果你修改了代码但前台页面没有变化,请尝试清除缓存,在后台的“系统” -> “一键更新站点” -> “更新HTML” -> “更新栏目HTML”和“更新文档HTML”,或者直接删除
/templets/default/cache/目录下的缓存文件。 -
栏目ID:在使用
typeid之前,请务必去后台“栏目管理”中确认你要调用的栏目ID是多少。 -
字段调用:
{dede:arclist}支持调用文章的所有字段,如id,title,pubdate,click,writer,source,litpic等,完整的字段列表可以查阅织梦官方文档。 -
循环标签:
{dede:arclist}和{/dede:arclist}之间的内容会根据row的值被循环输出,一定要确保它们成对出现。
希望这份详细的指南能帮助你顺利地在织梦中调用前几篇文章!
