DEDECMS首页和栏目页文章按权重排序如何修改调用


avatar
pcwnas 2023-04-21 244

原文来自:https://www.zixuephp.com

DEDECMS首页和栏目页文章按权重排序如何修改调用?

列表页标签{dede:list增加按权重排序标签,次方法仅适用 dedecms v5.6\v5.7 版本.

解决方法:

1、首先找到\include\目录中的arc.listview.class.php文件,搜索“ orderby=="lastpost" ”,然后在:

  1. elseif($orderby=="lastpost"){
  2. $ordersql="orderbyarc.lastpost$orderWay";
  3. }
  4. //这段代码下面添加
  5. elseif($orderby=="weight"){
  6. $ordersql="orderbyarc.weight$orderWay";
  7. }

这段代码中间粘贴上,之后找到 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语句里.