立即注册 登录
彼岸网 返回首页

牛肉炖土豆的个人空间 http://www.bian-wang.com/discuz/?10744 [收藏] [复制] [分享] [RSS]

日志

关于回帖投票功能的排序BUG

热度 1已有 116 次阅读2018-10-8 09:33 PM |个人分类:建站笔记

后台如图,开启回帖投票之后,



论坛


例如,一个主题下面有10个回复,在最后一个回复中,点击“支持”或“反对”,那么该回复排序会从10楼提升至2楼,变成“推荐”的回复了

这个提升排序问题,能不能改成只适应点击“支持”的情况呢?我认为点击反对也被提升上来是不合理的。。。


我尝试在文件source\module\forum\forum_misc.php

1752行

$doArray = array('support', 'against');

开始乱修改,没有效果,特来求助~


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (2 个评论)

回复 牛肉炖土豆 2018-10-9 04:36 AM
天香公主: 贴子的支持数和反对数记录在数表forum_hotreply_number里。

当显示一个主题页时,会执行文件source/module/forum/forum_viewthread.php里的下面这句话
$hotpids ...
果然可以了, ,又解决掉了心头之患,爽啊~
谢谢了,嘿嘿
回复 天香公主 2018-10-8 11:14 PM
贴子的支持数和反对数记录在数表forum_hotreply_number里。

当显示一个主题页时,会执行文件source/module/forum/forum_viewthread.php里的下面这句话
$hotpids = array_keys(C::t('forum_hotreply_number')->fetch_all_by_tid_total($_G['tid'], 10));
来得到所有“推荐”的回复,你看它考虑的是total即支持数和反对数之和。如果你想只考虑支持数的话,可以把这句改成
$hotpids = array_keys(C::t('forum_hotreply_number')->fetch_all_by_tid_support($_G['tid'], 10));

再在文件 source/class/table/table_forum_hotreply_number.php 里加下面这个函数
    public function fetch_all_by_tid_support($tid, $limit = 5) {
                return DB::fetch_all('SELECT * FROM %t WHERE tid=%d AND support>0 ORDER BY support DESC LIMIT %d', array($this->_table, $tid, $limit), 'pid');
        }

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

小黑屋|Archiver|彼岸网  

Powered by Discuz! X3.1 © 2001-2014 Comsenz Inc.
GMT-4, 2018-12-15 04:29 PM , Processed in 0.016027 second(s), 8 queries. ,ApcOn

返回顶部