网页特效代码_站长素材站移动版

DeDecms教程

主页 > CMS教程 > DeDecms教程 >

channelartlist调用typeid按照顺序排列

织梦调用栏目会按照默认的栏目ID的顺序(如果在后台“网站栏目管理”中设置了栏目排序的话就会按照设置的顺序)来进行排序,但是有时候我们需要按照各自的需求对调用的栏目进行排序,这个时候就需要对织梦程序源码做一下修改
注意:在5.7 SP2版本下,此方法无效,会出错,请谨慎修改!
在任何对织梦源程序文件进行修改的操作之前请务必做好备份。
打开/include/taglib/channelartlist.lib.php
找到
$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");
比如修改之前:
  {dede:channelartlist typeid="1,3,2,5,4"}
    {dede:field.typename/}
  {/dede:channelartlist}
  栏目一
  栏目二
  栏目三
  栏目四
  栏目五
这样并没有发生变化。
 
修改之后的效果就是这样:
  {dede:channelartlist typeid="1,3,2,5,4"}
    {dede:field.typename/}
  {/dede:channelartlist}
  栏目一
  栏目三
  栏目二
  栏目五
  栏目四
这样自己定义的顺序来排序。
(责任编辑:admin)

    468x60