王鹏飞seo博客,专注郑州seo,郑州网站优化,百度seo优化,提供免费seo诊断方案。seo外包顾问QQ:931519643,电话15617834052。
Loading
0

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

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

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

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

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

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

[php]view plaincopy

  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 plaincopy

  1. $liststr=$dtp2->GetResult();

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

整体替换为

[php]view plaincopy

  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. }
本站文章均来自互联网,如有侵权请及时联系郑州seo。并发送侵权证明至邮箱931519643@qq.com,证实后立即删除。
鞭挞我吧!鞭挞我吧! 鞭挞我吧!鞭挞我吧!

如果你觉得不错,不如打赏一下!

最后编辑于:2019/4/27作者: 王鹏飞SEO

王鹏飞seo,专注郑州SEO网站优化,分享百度SEO优化知识,提供免费seo优化方案。

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

扫一扫,获取免费seo诊断!

扫一扫,获取免费seo诊断!