织梦channelartlist按指定的typeid排序

我们在用到channelartlist标签时候,有时候需要按照typeid进行排序,比如我们想要按照17,4,8这样依次输出,但是默认的会按照4,8,17进行排序。我们想要按照17,4,8这样排,要怎么处理?

 

 {dede:channelartlist typeid='17,4,8'}

<h3><a href=http://www.dede58.com/"{dede:field.typeurl/}">{dede:field.typename/}</a></h3>

{/dede:channelartlist}

 

找到 \include\taglib\channelartlist.lib.php 文件,第 78 行,找到如下代码:

 

$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath   

FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum");  

 

修改为代码:

 

$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,  

siteurl,sitepath FROM `dede_arctype` WHERE $tpsql ORDER BY FIELD(id,$typeid) LIMIT $totalnum");  

 

就可以根据 typeid 排序了。或者直接替换该文件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgfxj.html