织梦channelartlist按指定的typeid排序

时间:2021-06-23
我们在用到channelartlist标签时候,有时候需要按照typeid进行排序,比如我们想要按照17,4,8这样依次输出,但是默认的会按照4,8,17进行排序。我们想要按照17,4,8这样排,要怎么处理?
 
 {dede:channelartlist typeid='17,4,8'}
<h3><a href="{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 排序了。或者直接替换该文件。
 
上一条:织梦DEDECMS如何修改缩略图地址长度 下一条:织梦后台栏目名称及栏目文件保存目录长度修改

相关文章

最新文章