位置:首页 > CMS相关 > 织梦CMS >

织梦DedeCMS列表页{dede:list}标签支持weight权重排序

字号+ 作者:micloud 来源:www.seoalphas.com 2019-04-12 15:40 浏览量:1365

织梦列表页文章排序功能应用场景比较多,如果只是按推荐排序的话,并不一定能够满足需求,如果能按照指定的权重大小进行排序,将重要的产品优先排列,则是一种比较实用的方式。实现这个功能,需要修改织梦系统的系统文件。

1、找到"根目录\include\arc.listview.class.php"文件。

2、修改代码:搜索“排序方式”,大概在文件第750行处添加按weight排序判断代码:

        else if($orderby=="weight") {
            $ordersql = "  ORDER BY arc.weight $orderWay";
        }

 //排序方式
$ordersql = '';
        if($orderby=="senddate" || $orderby=="id") {
            $ordersql=" ORDER BY arc.id $orderWay";
        }
        else if($orderby=="hot" || $orderby=="click") {
            $ordersql = " ORDER BY arc.click $orderWay";
        }
        else if($orderby=="lastpost") {
            $ordersql = "  ORDER BY arc.lastpost $orderWay";
        }
        /**按文章权重排序**/
       else if($orderby=="weight") {
            $ordersql = "  ORDER BY arc.weight $orderWay";
        }
        else {
            $ordersql=" ORDER BY arc.sortrank $orderWay";
        }


3、再在大概第800行处找到此段代码添加:|weight

  //如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢)
     

if(preg_match('/hot|click|lastpost|weight/', $orderby))

其实从上面的代码中,我们还可以看出其他的排序方式:hot(热门文章),click(文章点击数),lastpost(发布时间),可以根据自己的业务场景需要选择合适的排序方式。

4、标签调用:

  {dede:list orderby='weight' orderway='asc' pagesize='12'}

  这样{dede:list}标签就支持了按权重排序的调用,并且动静态状态下测试均成功!


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 织梦系统去除版权显示:Power by DedeCms

    织梦系统去除版权显示:Power by DedeCms

    浏览次数:11518

  • dedecms织梦调取文章页跳转地址,直接调用跳转网址的问题

    dedecms织梦调取文章页跳转地址,直接调用跳转网址的问题

    浏览次数:6191

  • dedecms PC和移动端共用一个后台 图片路径处理问题

    dedecms PC和移动端共用一个后台 图片路径处理问题

    浏览次数:3620

  • DedeCMS实现添加栏目图片功能

    DedeCMS实现添加栏目图片功能

    浏览次数:2641

网友点评
评论区域