喜欢就分享给更多人!

织梦dedecms列表页显示顺序,根据个别字段值实现重新排列

dede教程 02-28 12:06
织梦dedecms列表页显示顺序,根据个别字段值实现重新排列

织梦文章列表中,比如我要求显示最新文章,并按id降序排列,但是,附加表中有一个字段,就叫结束时间的endtime字段,要求按这个字段的值重新排序.比如要求,如果结束时间的值小于系统当前时间,则这个字段值对应的文档自动放到文章列表的最结尾显示.

在文章列表中.要求结束的活动自动排到最后面显示.怎么实现呢

需要修改系统文件.include\arc.listview.class.PHP

找到类似这句$artlist1 .= $this->dtp2->GetResult();

修改为,意思是说,如果文档是已经结束活动的信息,与进行中的分开运算.最后进行拼接.这样,就可以把本已按id降序调用好的20个文章列表,进行重新调整位置后,再显示

[php] view plain copy
  1. if($row['myendtime']!=''){  

  2. if($row['myendtime']<time()){//已结束的活动

  3. $artlist2 .= $this->dtp2->GetResult();  

  4.                }else{  

  5. $artlist1 .= $this->dtp2->GetResult();  

  6.                    }  

  7. $artlist=$artlist1.$artlist2;  

  8.                    }else{  

  9. $artlist .= $this->dtp2->GetResult();  

  10.                    }  

如果是网站首页.用dede:arclist调用列表.则需要修改另外一个文件.\include\taglib\arclist.lib.php,找到下面两句.

[php] view plain copy
  1. $liststr = $dtp2->GetResult();  

  2. $artlist.= $liststr."\r\n";  

整体替换为

[php] view plain copy
  1. $liststr = $dtp2->GetResult();  

  2. if($row['myendtime']!=''){  

  3. if($row['myendtime']<time()){//已结束的活动

  4. $artlist2 .= $liststr."\r\n";  

  5.    }else{  

  6. $artlist1 .= $liststr."\r\n";  

  7.     }  

  8. $artlist=$artlist1.$artlist2;  

  9.     }else{  

  10. $artlist.= $liststr."\r\n";  

  11.     }  

友情链接: 菜鸟吧源码 菜鸟聚会登录 网站目录大全 菜鸟吧导航网 冒泡网赚 中创网 福缘创业网 臭虾米项目网 小淘学社 吾图资源网 懒人之家源码 ASP300源码 折翼天使 锦尚中国 莎莎源码论坛 吾爱源码论坛 织梦58 搜虎源码论坛 游戏咖啡屋 码农网 虎格网 织梦猫 魔克吧 忽悠兄基地

网站快速入口:| 网站首页 | 用户登录 | 快捷登录 | 注册账号 | 会员中心 |