dedecms 如何使 arclist按权重排序

cuclife.com - 08-04

 dede5.7 调用文章按权重排序(权重越小越靠前)的正确使用方法 (arclist 标签)。5.6之后DEDE加入了文章按权重排序的功能,但很多童鞋调整权重数值,并在arclist标签里加上orderby='weight',却发现无任何效果,原因是系统默认是不开启该功能的。

网上有相关的解决方法,需要改arclist.lib.php才能使用此功能。(本文结尾处有修改方法,不推荐使用。)
 
其实完全没有必要,正确的使用方法如下:
{dede:arclist titlelen='38' flag='h' noflag='a' isweight='y' orderby='weight'}
<li><span>[[field:typelink/]]</span><a href="[field:arcurl/]">[field:title/]</a><div class="c2time">[field:pubdate function=MyDate('y-m-d',@me)/]</div></li>
{/dede:arclist}
 
红色部分就是开启 weight排序,再加上orderby='weight',就OK了。
 
 
 
另外很多童鞋使用arclist标签时,想按照权重越大越靠前来排序,则需要小动一下arclist.lib.php文件,方法如下:
打开\include\taglib\arclist.lib.php
大概在572行
$orderWeight = list_sort_by($orderWeight, 'weight', 'asc');
修改为(红色部分)
$orderWeight = list_sort_by($orderWeight, 'weight', 'desc');
就OK了