菜鸟科技网

织梦首页如何调用文章?

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

织梦首页如何调用文章?-图1
(图片来源网络,侵删)

基础文章调用方法

织梦首页调用文章主要通过系统内置的标签实现,最常用的是{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的文章列表:

织梦首页如何调用文章?-图2
(图片来源网络,侵删)
{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)等:

织梦首页如何调用文章?-图3
(图片来源网络,侵删)
{dede:arclist flag='h' row='4'}
    <strong>[field:title/]</strong><br>
{/dede:arclist}

调用文章摘要与作者

通过descriptionwriter字段展示摘要和作者信息:

{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'

优化与注意事项

  1. 性能优化:避免在首页调用过多文章(建议row不超过20),可通过缓存机制减少数据库压力。
  2. URL美化:确保后台开启“伪静态”,使文章链接更美观(后台“系统”-“核心设置”-“是否使用伪静态”)。
  3. 字段调用:需确保调用的字段在模型中存在,如litpic需在文章模型中开启缩略图功能。
  4. 安全过滤:对用户输入内容进行过滤,防止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;
}
分享:
扫描分享到社交APP
上一篇
下一篇