在使用织梦(DedeCMS)进行网站开发时,标签 dede:arclist 的排序功能是非常重要的。通过设置 orderby 属性,可以实现多种排序方式。以下是关于 dede:arclist 排序功能的详细介绍。

要指定排序规则,可以使用以下代码:

{dede:arclist orderby='排序字段' }
{/dede:arclist}


下面是一些常用的 orderby 值及其含义:

  • orderby='sortrank':按照文档默认排序方式。
  • orderby='hot'orderby='click':按照点击数从高到低排列。
  • orderby='sortrank'orderby='pubdate':按照出版时间排序。
  • orderby='near':特殊排序方式。
  • orderby='lastpost':按照最后评论时间排序。
  • orderby='scores':按照得分排序。
  • orderby='id':按照文章ID排序。
  • orderby='rand':随机获取符合条件的文章列表。
  • orderby='weight':按照权重排序(5.6版本新增功能)。


例如,以下是一个具体的调用示例:

{dede:arclist row='14' titlelen='48' orderby='weight' typeid='9' idlist=''}
  • [field:array runphp='yes'] if (@me['shorttitle']=='') @me=@me['title'];else @me=@me['shorttitle'];[/field:array][field:pubdate function=MyDate('Y-m-d',@me)/]
  • {/dede:arclist}


    默认情况下,权重是从低到高排序的。由于文章的默认权重与文章ID相同,如果希望某篇文章排在最前面,则需要将该文章的权重改为负数。然而,这种方式不符合我们的习惯,因此可以通过以下方法调整:

    1. 修改文档默认权重值为0。打开文件 dedetempletsarticle_add.htm,找到以下代码:

    (越小越靠前)


    将其修改为:

    (越大越靠前)


    2. 修改排序逻辑。找到以下代码:

    else if($orderby == 'weight') $ordersql = " order by arc.weight $orderWay , arc.sortrank $orderWay";


    确保其逻辑正确,即可实现按权重从大到小排序。

    通过以上步骤,您可以更灵活地控制文章的显示顺序,从而提升用户体验和SEO效果。