找到路径:/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个英文字母就能解决的事情,是不是很简单。
|