首页| 版块| 我的| 发帖| 消息
主题:测试排行榜会员排行页面排序调整及主题标签长度修改
zhangjingyu 
本地测试数据共163条,按mark(排行榜类型)和value(值)降序排列(文件里sql查询语句)。mark值依次是:todaypost(今日发帖)、rvrc(威望)、postnum(发帖)、onlinetime(在线时间)、monthpost(本月发帖)、monoltime(本月在线)、money(铜币)、f_num(朋友数)、digests(精华帖)、currency(祺石)、credit(贡献值)(和下面的会员排行榜拼图对应。其实还可能有个postMostUser,“活跃图客”。共12个)。
“$array = array('todaypost','monthpost','monoltime','postnum','digests','onlinetime','rvrc','money','currency','credit','f_num','postMostUser');”(引用内容)

lang_other.php
“    'sort_rvrc'        => '$GLOBALS',
    'sort_money'        => '$GLOBALS',
    'sort_credit'    => '$GLOBALS',
    'sort_digest'    => '精华帖',
    'sort_onlinetime'    => '在线时间',
    'sort_postnum'    => '发帖',
    'sort_todaypost'    => '今日发帖',
    'sort_monthpost'    => '本月发帖',
    'sort_monoltime'    => '本月在线',
    'sort_postMostUser' => '活跃图客',
    'sort_digests'    => '精华帖',
    'sort_currency'    => '$GLOBALS',
    'sort_f_num'    => '朋友数',”(引用内容)里面四个没有具体名称的,调用后台全局定义的积分名称。为什么这个文件里会有“sort_”前缀,大概是因为在sort.htm文件里有这么一段(对应调用):
“$type=!is_numeric($key) ? getLangInfo('other','sort_'.$key) : $_CREDITDB[$key][0];”(引用内容)
所以,综上,想调整会员排行榜的排列顺序不是件容易的事。关键点是29楼提到的lib/element.class.php文件里getAllUserSort()函数的查询方式,“$query = $this->db->query("SELECT * FROM pw_elements WHERE type='usersort' ORDER BY mark DESC, value DESC");”,按mark和value降序排列查询到的结果,而后调用。恰恰这个mark排序不能任意调整顺序。所以,也就只能到此了,虽然不能调整顺序,但历时近两天的时间,我想,应该是研究明白了吧。

经测试,会员排行的排列顺序确实是受lib/element.class.php文件的查询排序控制。(35楼)
=================分隔线====================
更新:已经可以任意指定排序,详见53楼。

浏览大图
zhangjingyu回帖于2020-02-02 17:22[查看电脑版]
下一页 (1/2)
下一楼»:帖内置顶,也只能到此了。虽然没能实现,但原因和原理是基本弄明白了,好吧。
«上一楼:打开本地的数据库管理软件,打开pw_elements数据表,执行sql语句:
“SELECT * FROM pw ..

查看全部回帖(58)
«返回主帖