打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
dede织梦技巧:教你彻底解决dede按权重排序的问题

来自:dedezj织梦教程,dedezj.com

dede排序对网站来说一直存在问题,默认是按照最新发布时间排序。这样排序有个问题,一旦更新之后即被视为最新发布,于是原本做好的排序瞬间就乱了。

这种时候,按权重排序是个很好的选择,但按权重排序到处存在BUG~。很多地方都缺少设置,要么是设定后完全不起作用,在百度和论坛找了很多帖子,都没能完全解决问题。在做第二个网站的时候,终于把BUG修订完全了。

要解决权重排序的问题,主要集中在以下几个文件上:

/include/arc.freelist.class.php   自由列表对应的文件

/dede/templets/freelist_edit.htm 新增自由列表对应的文件

/dede/templets/freelist_add.htm  修改自由列表对应的文件

/include/arc.listview.class.php   list列表对应的文件

/include/taglib/arclist.lib.php   arclist列表对应的文件

修改的内容很简单,按照以下步骤即可修正:

1、打开/include/arc.freelist.class.php, 找到以下代码:

else if($orderby=="rand")
{
$ordersql = "  ORDER BY rand()";
}

在代码下方插入以下代码后保存:

else if($orderby=="weight") 
{
$ordersql = " order by arc.weight asc";
}

2、打开/dede/templets/freelist_add.htm,找到以下代码:

<td height="28" align="left">排列顺序:
         <select name="orderby" id="orderby" style="width:120">

在代码下方插入以下代码,保存:

<option value="weight">权重值</option>

3、打开/dede/templets/freelist_edit.htm,找到以下代码:

<?php
       echo "<option value=\"$orderby\" selected>{$sortarrs[$orderby]}</option>\r\n";
?>

在代码下方插入以下代码,保存:

<option value="weight">权重值</option>

4、打开/include/arc.listview.class.php,找到以下代码:

else if($orderby=="lastpost") 
{
      $ordersql = "  ORDER BY arc.lastpost $orderWay";
 }

在代码下方插入以下代码:

else if($orderby=="weight") 
{
$ordersql = " order by arc.weight asc";
}

找到以下代码:

if(preg_match('/hot|click|lastpost|/', $orderby))

替换为以下代码并保存:

if(preg_match('/hot|click|lastpost|weight/', $orderby))

5、打开/include/taglib/arclist.lib.php,找到以下说明文字:

//功能:增加按好评数和差评数调用

替换为以下代码并保存:

else if($orderby == 'weight') $ordersql = "  ORDER BY arc.weight asc";
//功能:增加按好评数和差评数调用

 

修改这5个文件,即能解决权重排序的问题(根据权重从小到大排列),并使得自由列表中,也可以采用权重排序的方式生成列表。

调用例子:

{dede:arclist flag='a' limit='0,1' typeid='10' isweight='y' orderby='weight'}
        <a href="/z/al/index_12_1.html" target="_blank">
        <img src="[field:picname/]" width="300" height="168" alt="[field:shorttitle/]" style="border:1px solid "></a>
{/dede:arclist}


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
dede:list及dede:arclist 按权重排序的方法
dede5.6和5.7版本中实现dede:list按权重排序
dede:list和dede:arclist列表按权重排序修改方法
ecshop在首页调用dedecms文章
dedecms自定义orderby排序
dedecms相关文章调用dede:likearticle和修改关键词关连文章
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服