dedecms 按照栏目指定的id排序

    1、打开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 substring_index('$typeid',id,1) LIMIT $totalnum");

    2、前台调用标签:

    {dede:channelartlist typeid='1,2,3,4,5,6'}
    {dede:type}
    <li><a href='[field:typeurl/]' [field:rel/]>[field:typename/]</a></li>
    {/dede:type}
    {/dede:channelartlist}

    根据栏目的ID排序,想要什么样的排序更改ID的先后顺序就好了!注意改完之后看一下导航栏目顺序是否错乱,然后将如typeid='top' row='7'改成具体的id即可,比如typeid='1,2,3,4,5,6,7'!