php关键字搜索权重排序,dedecms 文章按权重排序问题

dedecms5.7版本中我们在发表文章的时候可以看见有个权重值,但是很多人用orderby='weight'调用的时候却不起作用。这是为什么呢?下面给大家讲讲解决方法。

我们在使用dedecms发部文章的时候,经常希望文章可以按我们的需求来进行排序。这个时候就需要用到文章的权重值了,如下图所示:

b9971eedada899b080d11316aaeeacad.png

但是当我们在dede:arclist标签中使用orderby='weight'来排序时,发现文章显示并没有起作用。我们在include\taglib下找到文件arclist.lib.php 打开来看一下代码。在代码的第74-75行,我们发现$isweight默认为N,所以我们在使用orderby='weight' 时需要在前面加上 isweight="Y" 来开启权重的使用。也可以加上orderway='asc'或orderway='desc'来限定排序的方式是升序还是降序。

{dede:arclist  row="8"  titlelen='30'  isweight='y' orderby='weight' orderway='asc' }

好的这样改了之后dede:arclist中就可以按权重来排序了。

但是我们在栏目列表页使用dede:list还是无法按权限排序。这是因为dede:list标签并为加入按weight排序的方法。我们在include下面找到arc.listview.class.php打开

4a8def95944456ccb73705895cc9f939.png

我们搜索关键字“排序方式”,找到如下代码段,一般在760行左右。然后加入下图绿框里面的代码。即:

else if($orderby == "weight") {

$ordersql = " order by arc.weight $orderWay";

}

93516ed5a396ba0aacf488c88a64db4e.png

接着我们往下拉找到下面代码段,加了刚才的代码之后大概在812行左右。在lastpost后面加上weight,如下图所示。

a7bc42d9e685b9e9cf0b65b9989b34ba.png

好的,现在就可以在dede:list标签中使用权重来排序了,具体调用代码如下图:

53b23a823c19ed70b3bef3d8417de997.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值