做dedecms5.6二次开发,遇到一个这样的需求,按手工设定的顺序进行排序,及我指定“2”这篇文章位置为1则它就排在文章列表的第一位,dedecms5.6添加了按weight排序。
在首页用{dede:arclist orderby='weight'}时一切正常,但进入到栏目列表则失效了,一看代码呈现的规则是
{dede:list pagesize='10' orderby='weight'}与首页不一致
解决步骤:
- 找到list解析文件include/arc.listview.class.php
//排序方式
$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";
}
发现排序规则里面并没有按照weight排序,于是乎修改程序加入排序规则
//排序方式
$o