在使用织梦(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效果。