您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    织梦dedecms列表页显示顺序,根据个别字段值实现重新排列
    时间:2020-02-28 12:06 作者:菜鸟哥 浏览:收藏 挑错 打印

    织梦文章列表中,比如我要求显示最新文章,并按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.     }  

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    织梦中TAG标签字数长度限制解决方法织梦中TAG标签字数长度限制解决方法
    织梦后台突然打不开或打开后空白的解决方法织梦后台突然打不开或打开后空白的解决
    织梦系统解决后台“DEDECMS安全提示”的方法织梦系统解决后台“DEDECMS安全提示”