织梦最新文章标签如何调用最新内容?

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

使用最简单的 {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>

调用指定栏目的最新文章

这是方法一的延伸应用,非常常见,你想在首页调用某个“新闻”栏目的最新文章。

  1. 找到你想要调用的栏目ID,登录织梦后台,进入“栏目管理”,鼠标移动到目标栏目上,浏览器左下角会显示该栏目的ID,ID=5

  2. 使用 {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},因为它绕过了织梦的封装,直接操作数据库,有潜在的风险。
-- 展开阅读全文 --
头像
织梦文件密码忘了,如何找回?
« 上一篇 03-05
linux gcc c语言
下一篇 » 03-05

相关文章

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

目录[+]