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}

dede织梦技巧:教你彻底解决dede按权重排序的问题(转)的更多相关文章

  1. 如何解决DEDE织梦友情链接字数限制与链接个数限制的问题?

    如何解决DEDE织梦友情链接字数限制与链接个数限制的问题!织梦网站非常适合网站搭建以及网站优化,而友情链接是做优化必不可少的模块,我们经常搭建织梦网站发现织梦系统的友情链接模板有时候会限制字数不显示以 ...

  2. Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法

    关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...

  3. 关于将dede织梦data目录迁移出web目录

    关于将dede织梦data目录迁移出web目录织梦官方提供了一个教程,但是如果你是按照他们提供的教程做的话会出现很多问题.比如验证码问题,图片显示问题等等一大堆.织梦官方这种是很不负责任的,因为那个教 ...

  4. dede织梦后台如何修改?如何增加删除菜单?(

    织梦后台的模板存放在dede/templets下面, 登陆首页模板login.htm, 进入首页模板index_body.htm, 左侧菜单模板index_menu2.htm. 修改左侧菜单dede/ ...

  5. DEDE织梦常用的调用方法

    DEDE织梦常用的调用常规调用: 网站名称调用:<title>{dede:global.cfg_webname/}</title> 网站关键词调用:<meta name= ...

  6. dede织梦如何防止被黑客入侵渗透?

    dede精简设置篇:避免被hack注射挂马 精简设置篇:不需要的功能统统删除.比如不需要会员就将member文件夹删除.删除多余组件是避免被hack注射的最佳办法.将每个目录添加空的index.htm ...

  7. dede织梦栏目页和文章页中获取当前栏目名称方法

    一般情况下,在dede织梦系统中列表页.栏目页和文章页中获取当前所在栏目名称只需要代码:{dede:type}[field:typename]{/dede:type}即可,不需要定义ID,默认的就是当 ...

  8. dede织梦后台页面及功能修改精简操作方法

    有很多使用织梦程序的站长往往都不喜欢使用默认的后台,但对于很多小白站长其实也不太懂程序的功能,而且如果显示或者开了过多的功能只会给自己带来困扰,所以小白站长都喜欢一些傻瓜式的后台操作界面.那么,ded ...

  9. 如何有效防止DEDE织梦系统被挂木马安全设置(仅供参考)

    尊敬的客户,您好!     感谢广大客户对我司工作的信任和支持!      我司在最近的一个多月内陆续发现多起因 DedeCMS 安全漏洞造成网站被上传恶意脚本的事件,入侵者可利用恶意脚本对外发送大量 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:Qt Designer中部件的windowIcon属性

    windowIcon对象为部件对象的属性,但只有窗口对象有效,其他派生对象如pushButtong对象无效. 在windowIcon对象上有如下子属性设置: 这几个子属性实际上是QIcon类中继承的. ...

  2. Mysql 逻辑架构图及日志系统

    我们经常能看到如下的逻辑架构图,但是往往不能进行很好的记忆,看过就忘记了,也不知道它的实现方式.今天通过简单的画图来简单了解一下mysql到底是如何执行一个select语句,如何update一条语句. ...

  3. Windows的API功能查询

    在逆向分析时,一些Windows的API函数往往是我们的突破口.但这些函数很难记得一清二楚,以下是我的查找办法,做个小结. 官网 https://docs.microsoft.com/en-us/wi ...

  4. JavaScript:常用的一些数组遍历的方法

    常用的一些遍历数组的方法: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  5. SQL注入 (一)

    一.手工注入 注入点检测 识别方法:通过在url栏输入'.and 1=1.or 1=1.and sleep(1),如果出现报错,或者页面不一致,则可能存在注入点. 注入类型:整数型.字符型.搜索型.B ...

  6. 谈谈MySQL bin log的写入机制、以及线上的参数是如何配置的

    目录 一.binlog 的高速缓存 二.刷盘机制 三.推荐的策略 推荐阅读 问个问题吧!为什么你需要了解binlog的落盘机制呢? 我来回答一下: ​ 上一篇文章提到了生产环境中你可以使用binlog ...

  7. vue 修改数据

    通过数组中的方法改变数据 变异方法(改变原数组) push() pop() shift() unshift() splice() sort() reverse() 替换数组(生成新数组) filter ...

  8. Flink读写Redis(二)-flink-redis-connector代码学习

    源码结构 RedisSink package org.apache.flink.streaming.connectors.redis; import org.apache.flink.configur ...

  9. Fabric 配置 order节点问题

    问题描述: Error: failed to create deliver client: orderer client failed to connect to orderer.example.co ...

  10. 面试 11-00.JavaScript高级面试

    11-00.JavaScript高级面试 #前言 一.基础知识: ES 6常用语法:class .module.Promise等 原型高级应用:结合 jQuery 和 zepto 源码 异步全面讲解: ...