列表页标签{dede:list增加按权重排序标签,次方法仅适用 dedecms v5.6/v5.7 版本.
解决方法:
1、首先找到/include/目录中的arc.listview.class.php文件,搜索“ orderby=="lastpost" ”,然后在:
- else if($orderby=="lastpost") {
- $ordersql = " order by arc.lastpost $orderWay";
- }
- //这段代码下面添加
- else if($orderby=="weight") {
- $ordersql = " order by arc.weight $orderWay";
- }//开源软件:Vevb.com
这段代码中间粘贴上,之后找到 if(preg_match('hot|click|lastpost',$orderby))
修改成 if(preg_match('hot|click|lastpost|weight',$orderby))
实际上加了 weight 保存文件.
按照权重排序修改完毕,这个时候就可以调用了,在列表页里就可以使用{dede:list}标签,调用方法如下:
{dede:list orderby='weight' orderway='asc'}
首页中使用 {dede:arclist }标签,调用方法如下:
{dede:arclist typeid=50 isweight='Y' }
特别注意的是首页weight标签的调用,完成以上操作就可以按照权重排序调用了.
完成上述操作就要修改文章权重值,于是新的问题出现了,发现权重修改不了,顺便分享一下修改文章权重值的方法.
找到dede后台文件 dede/album_edit.php 在152行到172行之间 加入 weight='$weight',,目的是把更改的值加入到sql语句里.
新闻热点
疑难解答