dedecms在使用LIST标签时,orderby=weight 按权重排序无效问题 ,下面言归正传。
1:找到list解析文件include/arc.listview.class.php
发现排序规则里面并没有按照weight排序的判断,于是乎修改程序加入排序规则
05 |
if ($orderby== "senddate" || $orderby== "id" ) { |
07 |
$ordersql= " order by arc.id $orderWay" ; |
11 |
else if ($orderby== "hot" || $orderby== "click" ) { |
13 |
$ordersql = " order by arc.click $orderWay" ; |
17 |
else if ($orderby== "lastpost" ) { |
19 |
$ordersql = " order by arc.lastpost $orderWay" ; |
23 |
else if ($orderby== "weight" ) { |
25 |
$ordersql = " order by arc.weight $orderWay" ; |
31 |
$ordersql= " order by arc.sortrank $orderWay" ; |
|
同时修改条件 if(ereg('hot|click|lastpost',$orderby)) 为 if(ereg('hot|click|lastpost|weight',$orderby)) 。
另外arclist 对weight的排序也不准确,需要加上一个isweight的属性
{dede:arclist typeid='32' pagesize='20' isweight='Y' orderby='weight' orderway='asc'} 。
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法下载,联系站长索要。
如有侵犯您的版权,请给我们来信:admin@cniao8.com,我们尽快处理。