织梦如何调用最新文章?

99ANYc3cd6
预计阅读时长 18 分钟
位置: 首页 织梦建站 正文

下面我将从最简单到最复杂,为你详细讲解如何调用最新文章,并解释不同标签的参数和用法。

织梦如何调用最新文章
(图片来源网络,侵删)

最基础、最常用的调用方法

这是最直接、最常用的方式,适用于绝大多数场景。

标签代码:

{dede:arclist titlelen='30' row='10'}
    <a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}

代码解释:

  • {dede:arclist ...}:这是织梦调用文章列表的核心标签,len='30'`:设置文章标题的长度,最多显示30个汉字,如果标题超过30个字,会自动截断并加上省略号(在后台系统设置里配置)。
  • row='10':设置要调用的文章数量,这里是调用最新的10篇文章。
  • [field:arcurl/]:文章的链接地址。
  • [field:title/]:文章的标题。

输出结果示例: 这10行代码会生成类似下面的HTML:

织梦如何调用最新文章
(图片来源网络,侵删)
<a href="/a/2025/1234.html">织梦如何调用最新文章(基础篇)</a>
<a href="/a/2025/1233.html">织梦首页调用指定栏目文章的方法</a>
<a href="/a/2025/1232.html">DedeCMS安全设置指南</a>
...

arclist 标签常用属性详解

arclist 标签非常强大,通过不同的属性组合可以实现各种复杂的需求。

指定栏目调用

如果你想只调用某个或某几个栏目下的最新文章,可以使用 typeid 属性。

  • 调用单个栏目(栏目ID为 1 的栏目):

    {dede:arclist typeid='1' titlelen='30' row='5'}
        <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}
  • 调用多个栏目(栏目ID为 13 的栏目):

    织梦如何调用最新文章
    (图片来源网络,侵删)
    {dede:arclist typeid='1,3' titlelen='30' row='5'}
        <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}
  • 排除某个栏目(调用除了ID为 5 的所有栏目):

    {dede:arclist typeid='all' notypeid='5' titlelen='30' row='5'}
        <li><a href="[field:arcurl/]">[field:title/]</a></li>
    {/dede:arclist}

调用带有缩略图的文章

如果想在列表中显示文章的缩略图,可以使用 imglinklitpic 字段。

{dede:arclist typeid='1' row='4'}
    <div class="news-item">
        <a href="[field:arcurl/]" class="img-link">
            <img src="[field:litpic/]" alt="[field:title/]" />
        </a>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span class="date">[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    </div>
{/dede:arclist}
  • [field:litpic/]:文章的缩略图地址。
  • [field:pubdate function="MyDate('Y-m-d',@me)"/]:文章发布日期,这里通过function参数格式化日期为 年-月-日 的格式。

调用特定时间段内的文章

使用 subday 属性可以调用指定天数内发布的文章。

  • 调用最近7天内发布的文章:
    {dede:arclist subday='7' row='5'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}

调用特定排序的文章

默认情况下,arclist 是按文章发布时间(pubdate)降序排列的,你可以使用 orderby 属性改变排序方式。

  • 按文章ID排序(常用于测试):

    {dede:arclist orderby='id' row='5'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}
  • 按文章点击量排序(热门文章):

    {dede:arclist orderby='click' row='5'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}
  • 按文章评论数排序:

    {dede:arclist orderby='scores' row='5'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}
  • 排序:

    {dede:arclist orderby='title' row='5'}
        <a href="[field:arcurl/]">[field:title/]</a>
    {/dede:arclist}

高级用法:结合SQL语句调用

arclist 标签无法满足非常复杂的查询条件时(需要跨表查询、使用特定SQL函数等),可以直接使用 sql

使用场景示例:中包含“织梦”关键字,并且属于ID为 12 的栏目的最新5篇文章。

标签代码:

{dede:sql sql="SELECT id,title,arcurl FROM `dede_archives` LEFT JOIN `dede_arctype` ON dede_archives.typeid = dede_arctype.id WHERE title LIKE '%织梦%' AND dede_arctype.id IN (1,2) ORDER BY pubdate DESC LIMIT 0,5"}
    <a href="[field:arcurl/]">[field:title/]</a>
{/dede:sql}

代码解释:

  • {dede:sql sql="..."}:执行自定义SQL语句的核心标签。
  • SELECT id,title,arcurl FROM ...:选择需要的字段。
  • FROM dede_archives:从文章主表查询。
  • LEFT JOIN dede_arctype ON ...:与栏目表进行左连接,以便通过栏目ID筛选。
  • WHERE title LIKE '%织梦%'包含“织梦”的文章。
  • AND dede_arctype.id IN (1,2):进一步筛选栏目ID。
  • ORDER BY pubdate DESC LIMIT 0,5:按发布时间降序排列,并限制只返回5条记录。

⚠️ 重要提示:直接使用 sql 标签有一定风险,如果SQL语句写错可能会导致网站出错,请确保你对织梦的数据库表结构有一定了解,并且在修改前务必备份数据库


调用文章摘要(描述)

下方显示文章的摘要(description),可以使用 description 字段,并用 infolen 控制摘要长度。

{dede:arclist typeid='1' row='3' titlelen='20' infolen='100'}
    <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
    <p class="summary">[field:description/]...</p>
{/dede:arclist}
  • infolen='100':设置摘要的长度,最多显示100个字符。

总结与建议

需求场景 推荐标签 示例代码
通用最新文章 arclist {dede:arclist row='10'}...
指定栏目最新文章 arclist + typeid {dede:arclist typeid='1,2'}...
带缩略图的文章列表 arclist + litpic <img src="[field:litpic/]" />
热门文章(按点击) arclist + orderby {dede:arclist orderby='click'}...
复杂条件查询 sql {dede:sql sql="SELECT ..."}...

对于绝大多数情况,你只需要熟练掌握 arclist 标签的各种属性就足够了,这是织梦模板制作中最核心、最常用的标签之一,建议你多尝试组合不同的属性,以达到你想要的展示效果。

-- 展开阅读全文 --
头像
dede列表页为何没有文章显示?
« 上一篇 前天
dede栏目伪静态化如何设置?
下一篇 » 前天

相关文章

取消
微信二维码
支付宝二维码