• 微信
您当前的位置: 首页> CMS相关> 织梦CMS>

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

作者:Alpha时间:2019-04-12 阅读数:1819 +人阅读

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

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}标签就支持了按权重排序的调用,并且动静态状态下测试均成功!


本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com

标签: 小程序

阿尔法

软件开发工程师#全栈工程师

{include file=foot.html}