在织梦CMS(DedeCMS)中,调用首页文章是网站内容展示的核心操作,掌握不同场景下的调用方法能灵活构建页面布局,以下从基础调用、高级调用、常见问题及优化技巧等方面详细解析,帮助开发者高效实现首页文章展示需求。

基础文章调用方法
织梦首页调用文章主要通过系统内置的标签实现,最常用的是{dede:arclist}标签,该标签支持多种参数控制输出内容。
基础语法与参数说明
{dede:arclist}标签的基本语法如下:
{dede:arclist typeid='' row='' titlelen='' orderby=''}
<a href="[field:arcurl/]">[field:title/]</a>
<p>[field:description function='cn_substr(@me,100)'/]...</p>
<span>[field:pubdate function='MyDate('Y-m-d',@me)'/]</span>
{/dede:arclist}
主要参数说明:
typeid:指定栏目ID,多个ID用逗号分隔,如typeid='1,2,3';不填则调用所有栏目。row:调用文章数量,如row='10'表示显示10篇文章,len长度,如titlelen='30'`表示标题最多显示30个字符。orderby:排序方式,可选click(按点击量)、pubdate(按发布时间)、id(按文章ID)等。channelid:指定模型ID,默认为文章模型(ID=1)。
调用指定栏目文章
若只想调用某个栏目下的文章,需设置typeid参数,例如调用栏目ID为5的文章列表:

{dede:arclist typeid='5' row='8' titlelen='20'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
调用带缩略图的文章
通过addfields='litpic'调用缩略图字段,并用<img>标签展示:
{dede:arclist typeid='3' row='6' addfields='litpic'}
<div class="article-item">
<img src="[field:litpic/]" alt="[field:title/]">
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
</div>
{/dede:arclist}
高级调用技巧
分页调用
若首页需要分页展示文章,需结合{dede:pagelist}标签,并开启分页功能,在后台“系统参数”-“核心设置”中,勾选“启用首页分页”,并设置首页每页显示数量:
{dede:arclist typeid='' row='10' pagesize='5'}
[field:title/]<br>
{/dede:arclist}
{dede:pagelist listsize='3'/}
调用指定时间范围的文章
通过subday参数调用最近N天发布的文章,如调用最近7天的文章:
{dede:arclist subday='7' row='5'}
[field:title/]<br>
{/dede:arclist}
调用特定属性的文章
通过flag参数调用带有特定属性的文章,如头条(h)、推荐(c)等:

{dede:arclist flag='h' row='4'}
<strong>[field:title/]</strong><br>
{/dede:arclist}
调用文章摘要与作者
通过description和writer字段展示摘要和作者信息:
{dede:arclist typeid='2' row='6' titlelen='25' infolen='80'}
<a href="[field:arcurl/]">[field:title/]</a>
<p>[field:description/]...</p>
<small>作者:[field:writer/] | 点击:[field:click/]</small>
{/dede:arclist}
不同场景的调用方案
首页头条文章调用
头条文章通常需突出显示,可通过flag='h'和CSS样式实现:
<div class="headline">
{dede:arclist flag='h' row='1' titlelen='50'}
<h1><a href="[field:arcurl/]">[field:title/]</a></h1>
<p>[field:description function='cn_substr(@me,200)'/]</p>
{/dede:arclist}
</div>
首页多栏目文章组合调用
若首页需展示多个栏目的文章,可嵌套调用不同typeid的{dede:arclist}:
<div class="column">
<h2>新闻动态</h2>
{dede:arclist typeid='1' row='5'}
<li>[field:title/]</li>
{/dede:arclist}
</div>
<div class="column">
<h2>技术分享</h2>
{dede:arclist typeid='2' row='5'}
<li>[field:title/]</li>
{/dede:arclist}
</div>
首页带分页的文章列表
适用于资讯类首页,需结合pagesize和{dede:pagelist}:
<div class="article-list">
{dede:arclist typeid='' row='10' pagesize='5'}
<div class="item">
<h3><a href="[field:arcurl/]">[field:title/]</a></h3>
<span>[field:pubdate function='MyDate('Y-m-d',@me)'/]</span>
</div>
{/dede:arclist}
<div class="page">{dede:pagelist listsize='3'/}</div>
</div>
调用参数速查表
| 参数名 | 作用说明 | 示例值 |
|---|---|---|
typeid |
指定栏目ID | typeid='1,3' |
row |
调用文章数量 | row='10' |
orderby |
排序方式 | orderby='click' |
subday |
最近N天发布的文章 | subday='7' |
flag |
文章属性(h头条c推荐p图片) | flag='h' |
addfields |
额外调用字段(如缩略图) | addfields='litpic' |
infolen |
摘要字符数 | infolen='100' |
pagesize |
分页每页显示数量 | pagesize='5' |
优化与注意事项
- 性能优化:避免在首页调用过多文章(建议
row不超过20),可通过缓存机制减少数据库压力。 - URL美化:确保后台开启“伪静态”,使文章链接更美观(后台“系统”-“核心设置”-“是否使用伪静态”)。
- 字段调用:需确保调用的字段在模型中存在,如
litpic需在文章模型中开启缩略图功能。 - 安全过滤:对用户输入内容进行过滤,防止XSS攻击,可通过
function='htmlspecialchars'等字段处理。
相关问答FAQs
问题1:为什么调用文章时部分栏目内容不显示?
解答:通常是因为typeid参数设置错误或栏目未发布,需检查:①栏目ID是否正确;②该栏目下是否有已发布的文章;③栏目是否被禁用,可通过后台“栏目管理”确认栏目状态。
问题2:如何实现首页调用文章时自动截断标题并显示省略号?
解答:通过titlelen参数控制标题长度,并使用CSS样式实现省略号。
{dede:arclist titlelen='20'}
<a href="[field:arcurl/]" class="title-ellipsis">[field:title/]</a>
{/dede:arclist}
CSS样式:
display: inline-block;
max-width: 200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} 