在织梦(DedeCMS)系统中,调用最新文章是网站内容展示的核心功能之一,掌握不同场景下的调用方法能有效提升网站的动态性和用户体验,以下是织梦调用最新文章的详细操作指南,涵盖常用标签、参数配置及注意事项。

基础调用方法:arclist标签
arclist
是织梦最常用的文章列表标签,通过灵活的参数可实现最新文章的精准调用,基础语法为:
{dede:arclist row='10' titlelen='30' orderby='pubdate'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
- row:显示文章数量,如
row='8'
表示调用8篇最新文章,len**:标题字符长度,titlelen='20'
显示20个字符(中文10个字)。 - orderby:排序方式,
orderby='pubdate'
按发布时间降序(最新优先),也可用id
(文章ID)、click
(点击量)等。 - field:arcurl/:文章链接,`field:title/**:文章标题。
高级参数配置
-
指定栏目调用
若需调用特定栏目的最新文章,添加typeid
参数:{dede:arclist typeid='5' row='5' orderby='pubdate'} <a href="[field:arcurl/]">[field:title/]</a> {/dede:arclist}
typeid='5'
表示调用栏目ID为5的最新文章,多个栏目用逗号分隔(如typeid='2,5,8'
)。 -
排除特定栏目
使用typeidnot
参数排除不需要的栏目:(图片来源网络,侵删){dede:arclist typeidnot='10' row='6' orderby='pubdate'} [field:title/] {/dede:arclist}
typeidnot='10'
排除栏目ID为10的文章。 -
包含子栏目
typeid
默认不包含子栏目,需添加channelid='1'
(文章模型ID)并设置reid='0'
:{dede:arclist typeid='5' row='5' channelid='1' reid='0' orderby='pubdate'} [field:title/] {/dede:arclist}
-
调用带摘要的文章
添加infolen
参数控制摘要长度:{dede:arclist row='5' titlelen='20' infolen='100' orderby='pubdate'} <h3>[field:title/]</h3> <p>[field:description function='cn_substr(@me,100)'/]...</p> {/dede:arclist}
其他常用标签
-
sql标签自定义调用
复杂需求可通过sql
标签直接执行SQL语句:(图片来源网络,侵删){dede:sql sql='SELECT * FROM dede_archives ORDER BY pubdate DESC LIMIT 5'} <a href="[field:arcurl/]">[field:title/]</a> {/dede:sql}
注意:需确保表前缀(如
dede_
)与实际一致。 -
likearticle标签相关文章
在文章页调用与当前文章相关的最新内容:{dede:likearticle row='5' titlelen='24'} <a href="[field:arcurl/]">[field:title/]</a> {dede:likearticle}
注意事项
- 缓存问题:织梦默认开启缓存,修改标签后需在后台“更新缓存”或按
Ctrl+F5
刷新页面。 - 权限控制:若调用需登录才能查看的内容,需在标签中添加
ismember='1'
。 - 性能优化:避免在首页调用过多文章(建议不超过20篇),必要时使用
channelid
限制模型范围。
常用参数速查表
参数名 | 作用 | 示例值 |
---|---|---|
row |
显示文章数量 | row='10' |
typeid |
指定栏目ID | typeid='3,5' |
orderby |
排序方式 | orderby='pubdate' |
infolen |
摘要字符长度 | infolen='100' |
typeidnot |
排除的栏目ID | typeidnot='10' |
相关问答FAQs
Q1: 为什么arclist标签调用不出最新文章?
A: 可能原因包括:未设置orderby='pubdate'
参数、栏目ID错误(typeid
指向空栏目)、缓存未更新,建议检查参数配置,并在后台“系统”-“更新缓存”中手动刷新。
Q2: 如何调用特定时间范围内的最新文章?
A: 可通过sql
标签实现,例如调用近7天的文章:
{dede:sql sql='SELECT * FROM dede_archives WHERE pubdate >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 7 DAY)) ORDER BY pubdate DESC LIMIT 10'} <a href="[field:arcurl/]">[field:title/]</a> {/dede:sql}