织梦cms栏目文章排序方式

文章排序概述

织梦CMS在调用栏目文章时,支持通过 orderby 参数对文章列表进行多种方式的排序。掌握排序技巧可以灵活控制栏目页和首页文章的展示顺序,实现新闻按时间排列、热门内容优先展示等效果。

一、orderby 参数支持的值

排序值说明适用场景
pubdate按发布时间排序(默认)新闻、资讯类栏目
senddate按文档生成日期排序与pubdate类似
id按文章ID排序按录入顺序排列
click按点击量排序热门文章排行
lastpost按最后评论时间排序论坛、互动类
scores按评分排序评分系统
goodpost按好评数排序内容评价
badpost按差评数排序少用
rand随机排序随机推荐
hot按点击权重排序热度优先
sortrank按排序权重排序手动排序
title按标题字母顺序排序字典排序

二、升降序控制

orderby 后添加 ascdesc 控制排序方向:

<!-- 按发布时间升序(旧文章在前) -->
{dede:arclist typeid='3' row='10' orderby='pubdate asc'}

<!-- 按发布时间降序(新文章在前,默认) -->
{dede:arclist typeid='3' row='10' orderby='pubdate desc'}

<!-- 按点击量降序(热度最高在前) -->
{dede:arclist typeid='5' row='10' orderby='click desc'}

三、常见排序场景示例

3.1 最新文章列表

<!-- 栏目最新发布的10篇文章 -->
{dede:arclist typeid='3' row='10' orderby='pubdate' titlelen='40'}
<li>
  <a href="[field:arcurl/]">[field:title/]</a>
  <em>[field:pubdate function="MyDate('m-d',@me)"/]</em>
</li>
{/dede:arclist}

3.2 热门文章排行榜

<!-- 本周/本月热门(按点击量) -->
{dede:arclist typeid='3' row='10' orderby='click' titlelen='36'}
<li class="rank-{dede:global name='autoindex'/}">
  <span class="num">{dede:global name='autoindex'/}</span>
  <a href="[field:arcurl/]">[field:title/]</a>
  <span class="view">[field:click/]次</span>
</li>
{/dede:arclist}

3.3 随机推荐文章

<!-- 随机调取文章,增加内容曝光 -->
{dede:arclist typeid='3' row='5' orderby='rand' titlelen='40'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}

3.4 复合排序(热度+时间)

<!-- 使用hot按点击权重排序,兼顾热度和新鲜度 -->
{dede:arclist typeid='3' row='10' orderby='hot' titlelen='40'}

<!-- SQL标签实现复合排序 -->
{dede:sql sql="SELECT * FROM dede_archives 
WHERE typeid=3 AND arcrank=0 
ORDER BY click DESC, pubdate DESC LIMIT 10"}
<li><a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li>
{/dede:sql}

四、在栏目管理后台设置默认排序

每个栏目可以设置独立默认排序规则:

  1. 进入 核心 > 栏目管理
  2. 点击目标栏目的"更改"
  3. "栏目列表页"相关设置中找到"列表排序方式"
  4. 选择默认排序方式后保存
SEO优化建议:对于新闻资讯类栏目,使用 orderby='pubdate' 排序有利于搜索引擎及时收录最新内容;对于下载/产品类栏目,使用 orderby='sortrank' 配合 sortrank 字段可实现手动控制展示顺序。