tag的搜索结果页面,如何按id倒序排序啊

217次浏览 更新日期:2020-05-11 17:01:10 分类:问题求助 评论:5

就是通过点击文章的tag后,出现tag搜索列表展示页面

默认好像是按发布时间正序展示的

我想改为按发布时间倒序


但是看了search.html页面,貌似无法修改

而application\search\controller\index.php页面

我在function tag()函数中

把原有的

$res = D(get_model($value['modelid']))->field('id,title,de ion,inputtime,updatetime,click,thumb,nickname,url,catid,flag,color')->where(array('id'=>$value['aid'],'status'=>1))->find();


修改为:

$res = D(get_model($value['modelid']))->field('id,title,de ion,inputtime,updatetime,click,thumb,nickname,url,catid,flag,color')->where(array('id'=>$value['aid'],'status'=>1))->order('updatetime desc')->find();


依然是按时间正序排序

我试了->order('id desc'),结果也是一样

我来说两句
  • leven5
    leven5 1月前
    一、find方法返回一条记录,排序规则为先查询后排序,所以无效。
    二、指定了id=aid,所以也只能有一条记录,排不排都无效。
    三、你可以这样做:
    $search_data = array();
    foreach ******* {
    $db = D(get_model($value['modelid']));
    $inputtime = $db->field('inputtime')->where(array('id'=>$value['aid']))->find();
    $res = $db->field('id,title,de ion,inputtime,updatetime,click,thumb,nickname,url,catid,flag,color')->where(array('id'=>$value['aid'],'status'=>1))->find();
    array_push(array_combine($inputtime,$res));
    }
    ksort($search_data);

    加官方QQ群提问比较方便,论坛没什么人的。
    2
    回复
  • yzmcms
    yzmcms 官网认证 1月前
    下一个版本修复
    0
    回复
  • jlbqd
    jlbqd 1月前
    @leven5 谢谢!
    0
    回复
  • leven5
    leven5 1月前
    @ceshi2008 {m:lists field="title,url,inputtime" modelid="1" where="flag<>1" limit="40"}

    或者loop $data $v下面加一行
    <?php if($v['flag'] == 1) continue; ?>
    0
    回复
  • 我有个类似的问题,也在这个帖子里一起问了吧。
    首页调用所有栏目的文章,带置顶属性的帖子被自动排在最前面了。但是因为我栏目特别多,置顶的内容也特别多,导致首页调用40条内容,全是置顶的。现在想不显示这些置顶的,应该怎么处理?
    {m:lists field="title,url,inputtime" modelid="1" limit="40"}
    {loop $data $v}

    <li><span>{date('m-d',$v['inputtime'])}</span> <i class="fa fa-caret-right"></i> <a href="{$v[url]}" target="_blank" title="{$v[title]}">​{str_cut($v['title'], 75)}</a></li>


    {/loop}
    0
    回复
版主信息
发布新帖
发帖子 回顶部