• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    织梦dedecms列表页显示顺序,根据个别字段值实现重
    POST TIME:2017-11-12 23:51
    织梦文章列表中,比如我要求显示最新文章,并按id降序排列,但是,附加表中有一个字段,就叫结束时间的endtime字段,要求按这个字段的值重新排序.比如要求,如果结束时间的值小于系统当前时间,则这个字段值对应的文档自动放到文章列表的最结尾显示.
    在文章列表中.要求结束的活动自动排到最后面显示.怎么实现呢
    需要修改系统文件.include\arc.listview.class.PHP
    找到类似这句$artlist1 .= $this->dtp2->GetResult();
    修改为,意思是说,如果文档是已经结束活动的信息,与进行中的分开运算.最后进行拼接.这样,就可以把本已按id降序调用好的20个文章列表,进行重新调整位置后,再显示
    if($row['myendtime']!=''){
    if($row['myendtime']<time()){//已结束的活动
    $artlist2 .= $this->dtp2->GetResult();
    }else{
    $artlist1 .= $this->dtp2->GetResult();
    }
    $artlist=$artlist1.$artlist2;
    }else{
    $artlist .= $this->dtp2->GetResult();
    }
    如果是网站首页.用dede:arclist调用列表.则需要修改另外一个文件.\include\taglib\arclist.lib.php,找到下面两句.
    $liststr = $dtp2->GetResult();
    $artlist.= $liststr."\r\n";
    ​整体替换为
    $liststr = $dtp2->GetResult();
    if($row['myendtime']!=''){
    if($row['myendtime']<time()){//已结束的活动
    $artlist2 .= $liststr."\r\n";
    }else{
    $artlist1 .= $liststr."\r\n";
    }
    $artlist=$artlist1.$artlist2;
    }else{
    $artlist.= $liststr."\r\n";
    }
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!