dede orderby发布时间如何正确设置?

99ANYc3cd6
预计阅读时长 15 分钟
位置: 首页 DEDE建站 正文

这是一个非常常用且重要的功能,尤其是在首页、列表页和自定义图集中。

dede orderby发布时间
(图片来源网络,侵删)

要按发布时间进行排序,orderby 的值通常设置为 pubdate


orderby 参数详解

orderby 是 DedeCMS 标签(如 {dede:arclist}, {dede:list})中的一个核心属性,用于指定数据排序的依据,除了 pubdate,它还支持多种排序方式:

排序值 英文全称 中文含义 说明
pubdate Publish Date 发布时间 按文章的发布时间排序,这是最常用的。
sortrank Sort Rank 排序级别 按后台“排序选项”中的数字排序,数字越小越靠前,这是默认排序方式。
id ID 文章ID 按文章的唯一ID号排序。
click Clicks 点击量 按文章的点击次数排序,常用于“热门文章”。
arcrank Article Rank 文章级别 按文章的等级(如“推荐”、“头条”等)排序。
postnum Post Number 发布人ID 按文章发布者的用户ID排序。
lastpost Last Post 最后评论时间 按文章最后一次收到评论的时间排序。
scores Scores 评分 按文章的评分排序。
rand Random 随机 随机获取文章,每次刷新页面结果都不同。

在不同标签中的使用方法

a. 在首页或内容页调用文章 ({dede:arclist})

这是最常见的情况,比如在首页显示最新发布的文章列表。

基本语法:

dede orderby发布时间
(图片来源网络,侵删)
{dede:arclist row='10' orderby='pubdate' orderway='desc'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:arclist}

参数解释:

  • row='10':表示获取 10 条记录。
  • orderby='pubdate'核心,指定按“发布时间”排序。
  • orderway='desc':指定排序方式,desc 表示降序(从新到旧,即最新的在最前面),如果需要从旧到新,则使用 asc (升序)。
  • [field:arcurl/]:文章链接。
  • [field:title/]
  • [field:pubdate function="MyDate('Y-m-d', @me)"/]:文章发布时间,并通过函数格式化为 "年-月-日" 的格式。

示例:调用网站最新的5篇推荐文章

{dede:arclist row='5' titlelen='30' orderby='pubdate' orderway='desc' flag='c'}
    <h3><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></h3>
    <p class="info">发布时间:[field:pubdate function="MyDate('Y-m-d', @me)"]</p>
{/dede:arclist}
  • flag='c':增加了 flag 属性,表示只调用带有“推荐”标记的文章。

b. 在列表页 ({dede:list})

列表页通常用于文章列表,如新闻列表、产品列表等,默认情况下,列表页就是按 sortrank 排序的,如果你想让它按发布时间排序,就需要修改。

修改方法:

  1. 打开你的列表页模板文件,通常是 /templets/default/list_*.htm ( 代表栏目ID)。
  2. 找到 {dede:list}
  3. 为其添加 orderbyorderway 属性。

修改前(默认按排序号):

{dede:list pagesize='20'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:list}

修改后(按发布时间降序):

{dede:list pagesize='20' orderby='pubdate' orderway='desc'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
    </li>
{/dede:list}
  • pagesize='20':表示每页显示 20 条记录。

c. 在自定义图集中 ({dede:productimagelist})

在产品详情页,图集的图片顺序也可以按发布时间排序。

语法:

{dede:productimagelist}
    <dd>
        <img src="[field:imgsrc/]" alt="[field:text/]">
        <p>[field:text/]</p>
    </dd>
{/dede:productimagelist}

默认情况下,图集顺序是后台上传的顺序,如果你想按图片上传时间(即发布时间)排序,可以加上 orderby

{dede:productimagelist orderby='pubdate' orderway='desc'}
    <dd>
        <img src="[field:imgsrc/]" alt="[field:text/]">
        <p>[field:text/]</p>
    </dd>
{/dede:productimagelist}

常见问题与注意事项

  1. pubdatesortrank 的区别

    • pubdate:文章的实际发布时间,一旦确定就不会改变(除非你修改文章的发布日期)。
    • sortrank:后台编辑文章时有一个“排序选项”的输入框,你可以手动输入一个数字来调整文章在列表中的位置,数字越小,越靠前,这是 DedeCMS 的默认排序方式。
  2. orderway 的使用

    • desc (descending): 降序,从大到新/高到低。对于发布时间,desc 是“最新的在前”,这是最常见的需求。
    • asc (ascending): 升序,从小到大/旧到高,对于发布时间,asc 是“最旧的在前”。
  3. 性能考虑

    • 对于数据量非常大的网站,使用 orderby='rand' (随机排序) 会严重影响数据库性能,导致页面加载缓慢。
    • orderby='pubdate'orderby='sortrank' 是性能较好的排序方式。

要实现 DedeCMS 按发布时间排序,你只需要记住以下几点:

  1. 核心参数orderby='pubdate'
  2. 排序方向:通常搭配 orderway='desc' (最新的在前)。
  3. 应用标签:在 {dede:arclist} (首页/内容页)、{dede:list} (列表页) 和 {dede:productimagelist} (图集) 等标签中使用。

希望这个详细的解释能帮助你完全掌握 DedeCMS 中按发布时间排序的用法!

-- 展开阅读全文 --
头像
dede tag标签如何做静态化提升SEO效果?
« 上一篇 2025-12-24
html5手机网站织梦模板
下一篇 » 2025-12-24

相关文章

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