使用最简单的 {dede:arclist} 标签(最常用)
这是最直接、最常用的方法,适合在首页、列表页等任何地方调用。
标签基本结构
{dede:arclist row='10' titlelen='30' orderby='pubdate'}
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
{/dede:arclist}
参数详解
row='10':表示调用10条文章,你可以根据需要修改这个数字,len='30'`:表示文章标题的长度,最多显示30个字符(一个汉字算一个字符),如果标题很长,会被截断,设为0则不截断。orderby='pubdate':这是核心参数,表示按照发布时间降序排列,也就是最新的文章排在最前面,你也可以使用其他值,orderby='id':按文章ID降序(通常ID越大,文章越新)。orderby='hot'或orderby='click':按点击量(热度)降序。orderby='sortrank':按文章排序级别降序。
typeid='':指定调用某个栏目ID下的文章,如果为空,则从所有栏目中调用。typeid='5'只调用栏目ID为5下的文章。channelid='':指定模型ID,默认为文章模型(1)。flag='h':调用带有特定属性的文章。flag='h'只调用头条文章,flag='c'只调用推荐文章,可以组合使用,如flag='hc'。
字段详解
[field:arcurl/]:文章的完整链接地址。[field:title/]。[field:pubdate function="MyDate('Y-m-d',@me)"/]:文章发布时间。function="MyDate('Y-m-d',@me)"是一个自定义函数,用于将时间戳格式化为年-月-日的格式,你也可以使用MyDate('m-d',@me)来显示月-日。[field:description/]:[field:litpic/]:文章缩略图。
使用 {dede:loop} 标签(灵活调用)
{dede:loop} 标签可以直接查询数据库,比 {dede:arclist} 更底层,也更具灵活性,但需要你写一点SQL语句。
标签基本结构
{dede:loop table='dede_archives' sort='pubdate' row='10' if=''}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:loop}
参数详解
table='dede_archives':指定要查询的数据表,这里是文章主表。sort='pubdate':指定排序字段,pubdate是发布时间,加上默认的DESC(降序) 就是最新文章。row='10':指定返回的记录数,即调用10条文章。if='':可选的查询条件。if="arctypeid=5"可以只查询栏目ID为5的文章。
字段说明
在 {dede:loop} 中,字段名直接对应数据库表的字段名。
[field:title/]对应dede_archives表中的title字段。[field:pubdate/]对应pubdate字段(它是时间戳)。[field:id/]对应文章ID。
注意:{dede:loop} 不会自动生成文章链接 [field:arcurl/],你需要自己拼接,文章链接的规则在后台“系统” -> “系统基本参数” -> “核心设置”中可以找到,通常是 arcurl 规则。
<!-- 手动拼接链接的示例 --> <a href="/plus/view.php?aid=[field:id/]">[field:title/]</a>
调用指定栏目的最新文章
这是方法一的延伸应用,非常常见,你想在首页调用某个“新闻”栏目的最新文章。
-
找到你想要调用的栏目ID,登录织梦后台,进入“栏目管理”,鼠标移动到目标栏目上,浏览器左下角会显示该栏目的ID,
ID=5。 -
使用
{dede:arclist}并指定typeid参数:
<!-- 调用栏目ID为5的最新5篇文章 -->
{dede:arclist typeid='5' row='5' titlelen='24' orderby='pubdate'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span class="time">[field:pubdate function="MyDate('m-d',@me)"/]</span>
</li>
{/dede:arclist}
这个例子会调用栏目ID为5的5条最新文章,标题显示24个字符,并格式化日期为“月-日”的样式。
总结与推荐
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
{dede:arclist} |
简单、强大、官方推荐,内置了所有常用字段和功能,无需关心数据库结构。 | 灵活性相对较低,复杂的查询需求可能无法满足。 | 绝大多数场景,尤其是调用单栏或多栏的最新、热门、推荐文章。 |
{dede:loop} |
非常灵活,可以写任意SQL查询,能实现 arclist 无法完成的复杂逻辑。 |
需要了解数据库结构,手动拼接链接,对新手不友好。 | 需要跨表查询、调用非文章模型数据、或执行复杂筛选条件的特殊场景。 |
给你的建议:
- 如果你只是想在网站某个位置显示最新的几篇文章标题和链接,直接使用方法一
{dede:arclist}就完全足够了,这是最标准、最安全、最方便的做法。 - 如果你想调用特定栏目的最新文章,使用方法三,在
arclist标签里加上typeid参数即可。 - 只有当你需要调用文章摘要、缩略图,或者进行更复杂的排序和筛选时,才需要深入学习
arclist的更多参数。 - 除非你有特殊需求,否则不建议新手轻易使用
{dede:loop},因为它绕过了织梦的封装,直接操作数据库,有潜在的风险。
