使用预设的倒序值(最常用)
DedeCMS 为 orderby 参数预设了一些常用排序方式,其中就包含了倒序。

(图片来源网络,侵删)
hot或click:按点击量(浏览量)倒序pubdate:按发布日期倒序(最常用)sortrank:按文章排序值倒序(后台手动设置的排序号)id:按文章 ID 倒序
示例:
假设你要在一个列表页(如 list_article.htm)调用文章,并按发布日期倒序排列。
在 DedeCMS 的模板文件中,你通常会使用 {dede:list} 或 {dede:arclist} 标签,这两个标签都支持 orderby 参数。
在 {dede:list} 标签中使用

(图片来源网络,侵删)
{dede:list orderby='pubdate' titlelen='40' row='10'}
<li>
<a href='[field:arcurl/]'>[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:list}
解释:
orderby='pubdate':告诉系统按照文章的发布日期进行排序。- 因为
pubdate本身就是 DedeCMS 内置的倒序值,所以它会自动从最新发布的文章开始显示。
在 {dede:arclist} 标签中使用
{dede:arclist} 通常用于首页、频道页等,用法类似。
{dede:arclist orderby='pubdate' titlelen='40' row='10'}
<li>
<a href='[field:arcurl/]'>[field:title/]</a>
</li>
{/dede:arclist}
按点击量倒序示例:
{dede:list orderby='hot' row='10'}
<li>
<a href='[field:arcurl/]'>[field:title/]</a>
<span>点击:[field:click/]</span>
</li>
{/dede:list}
使用 SQL 关键字 desc(最灵活)
如果你想在任何字段上进行倒序排序,而不仅仅是 DedeCMS 预设的字段,你可以直接在 orderby 参数后面加上 desc。
语法:
orderby='字段名 desc'
示例:
假设你的文章表(dede_archives)有一个自定义字段 price(价格),你想按价格从高到低(倒序)排列。
{dede:list orderby='price desc' row='10'}
<li>
<a href='[field:arcurl/]'>[field:title/]</a>
<span>价格:[field:price/] 元</span>
</li>
{/dede:list}
解释:
orderby='price desc':这里的desc是 SQL 查询语言中的关键字,意为 "descending" (降序),即倒序。- 与之相对的是
asc(ascending),表示升序(正序)。
总结与对比
| 排序方式 | orderby 参数值 |
说明 | 适用场景 |
|---|---|---|---|
| 按发布日期倒序 | orderby='pubdate' |
使用 DedeCMS 内置值,简洁方便。 | 最常用,用于获取最新内容。 |
| 按点击量倒序 | orderby='hot' 或 orderby='click' |
使用 DedeCMS 内置值。 | 用于获取热门文章。 |
| 按任意字段倒序 | orderby='字段名 desc' |
使用 SQL 关键字 desc,非常灵活。 |
需要按自定义字段(如价格、销量等)排序时。 |
重要提醒
- 大小写不敏感:
desc和DESC都可以,DedeCMS 会正常识别。 - 字段名必须存在:如果你使用方法二,确保你排序的字段(如
price)确实在数据库的dede_archives表或附加表中存在,否则会报错或无数据。 - 性能考虑:对大型数据集进行排序时,确保你排序的字段有建立索引,以获得更好的查询性能。
pubdate和id字段通常都有索引。
希望这个详细的解释能帮助到你!
