78模板网分享cms建站教程,提供网站模板、网站插件、办公模板等模板教程免费学习,找模板教程就上78模板网!

织梦教程:DEDE 5.7 首页【arclist】增加按权重排序

78模板网有关用户有个这样的需求;首页【arclist】增加按权重排序,这样的如何来实现的呢?

一流源码网经过分析研究,方法如下

1、在织梦系统中找到以下目录includetaglib中的arclist.lib.php文件并打开 大约在74 、75行找到:

  // arclist是否需要weight排序,默认为"N",如果需要排序则设置为"Y"

$isweight = $ctag->GetAtt('isweight');

把这行修改为:

 $weight = $ctag->GetAtt('weight');

大约在327行找到

    //文档排序的方式

    $ordersql = '';

    if($orderby=='hot' || $orderby=='click') $ordersql = " ORDER BY arc.click $orderWay";

    else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " 

ORDER BY arc.sortrank $orderWay";

    else if($orderby == 'id') $ordersql = "  ORDER BY arc.id $orderWay";

    else if($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")";

    else if($orderby == 'lastpost') $ordersql = "  ORDER BY arc.lastpost $orderWay";

    else if($orderby == 'scores') $ordersql = "  ORDER BY arc.scores $orderWay";

    else if($orderby == 'rand') $ordersql = "  ORDER BY rand()";

    else $ordersql = " ORDER BY arc.sortrank $orderWay";

修改为:

    //文档排序的方式

    $ordersql = '';

    if($orderby=='hot' || $orderby=='click') $ordersql = " ORDER BY arc.click $orderWay";

    else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " 

ORDER BY arc.sortrank $orderWay";

    else if($orderby == 'id') $ordersql = "  ORDER BY arc.id $orderWay";

    else if($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")";

    else if($orderby == 'lastpost') $ordersql = "  ORDER BY arc.lastpost $orderWay";

    else if($orderby == 'scores') $ordersql = "  ORDER BY arc.scores $orderWay";

    else if($orderby == 'rand') $ordersql = "  ORDER BY rand()";

    else if($orderby == 'weight') $ordersql = "  order by arc.weight $orderWay";//如果没有特定设置排序则按照权重先排序

    else $ordersql = " ORDER BY arc.sortrank $orderWay";

OK   现在把这个文档保存了  我们就可以在首页使用 orderby='weight' 进行排序了。

本文链接:http://78moban.cn/post/2915.html

版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!

联系技术
文章删除 友链合作 技术交流群
1050177837
公众号
公众号
公众号
返回顶部