DedeCMS的channelartlist标签增加orderway实现倒序
因为业务需求,使用channelartlist标签时需要排序,而且是倒叙,但是在使用的时候发现降序没有效果,查看源码,发现原来排序是升序的,写死的。
修改文件:
include/taglib/channelartlist.lib.php
在79行处发现了问题所在
接下来修改源码
1、在42行处添加如下代码
$orderway=$ctag->GetAtt('orderway');
if(empty($orderway))
{
$orderway="asc";
}
2、在查询处更改(把asc改为增加的变量)
$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#@__arctype` WHERE $tpsql ORDER BY sortrank $orderway LIMIT $totalnum");
大功告成,在模板时就可以调用了
调用时{dede:channelartlist orderway='desc' limit='3,2'}
代表,按排序的倒序取从第四条开始的两条,默认为asc升序