Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 悬赏主题设置最佳后自动归类

[复制链接]
阿诺大大 发表于 2018-9-11 13:07:40 | 显示全部楼层 |阅读模式
找到路径:/source/module/focum/forum_misc.php

找到相关代码:
updatemembercount($post['authorid'], array($_G['setting']['creditstransextra'][2] => $thread['price']), 1, 'RAC', $_G['tid']);
$thread['price'] = '-'.$thread['price'];
C::t('forum_thread')->update($_G['tid'], array('price'=>$thread['price']));


第一行代码是为对方增加积分的(就是设置最佳答案后)

第二行代码(price是悬赏的积分数量)给它变成负数(负数代表是已经解决,用来标记的)
第三行代码是更新price积分数量到数据库里面的。


我们把
C::t('forum_thread')->update($_G['tid'], array('price'=>$thread['price']));
修改成
C::t('forum_thread')->update($_G['tid'], array('price'=>$thread['price'],'typeid'=>1));
typeid 我这里是1,因为我这个1对应的是我需要的分类,具体想自动归类到哪个分类,自己去查看【pre_forum_threadclass】这个表即可,里面放的是整个论坛帖子的分类。

===========================
如果想继续深入理解的往下看:
$thread['price']  = 这个数组它是获取 【pre_forum_thread】表里面的数据,这个表就是记录整个论坛的所有主题贴。  price 就是对应每个帖子的悬赏积分。
在【pre_forum_thread】表里的一个叫【special】字段,该字段就是用来标记这个主题是什么类型的, 3即代表是悬赏主题类型。(主要用于插件他的判断,这个我们无需理会,只是介绍给大家理解。)

(这个东西我其实几个月前就想弄了,没坚持下来后面放弃了,今天突然脑回路比较清晰,回来继续干就成功啦)
为什么这功能一直没有插件,可能因为它是存放到了核心代码里面,插件好像是无法实现的(除非自己写一个特殊主题,不用默认的)。
加不到20个英文字母就能解决的事情,是不是很简单。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-22 14:48 , Processed in 0.032042 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表