需要修改的文件位置:/source/module/forum/forum_viewthread.php
对函数viewthread_updateviews进行修改,约1025行到1049行:
function viewthread_updateviews($tableid) { global $_G; if(!$_G['setting']['preventrefresh'] || $_G['cookie']['viewid'] != 'tid_'.$_G['tid']) { if(!$tableid && $_G['setting']['optimizeviews']) { if($_G['forum_thread']['addviews']) { if($_G['forum_thread']['addviews'] < 100) { C::t('forum_threadaddviews')->update_by_tid($_G['tid']); } else { if(!discuz_process::islocked('update_thread_view')) { $row = C::t('forum_threadaddviews')->fetch($_G['tid']); C::t('forum_threadaddviews')->update($_G['tid'], array('addviews' => 0)); C::t('forum_thread')->increase($_G['tid'], array('views' => $row['addviews']+1), true); discuz_process::unlock('update_thread_view'); } } } else { C::t('forum_threadaddviews')->insert(array('tid' => $_G['tid'], 'addviews' => 1), false, true); } } else { C::t('forum_thread')->increase($_G['tid'], array('views' => 1), true, $tableid); } } dsetcookie('viewid', 'tid_'.$_G['tid']);}
一般来讲,修改如下代码:
C::t('forum_thread')->increase($_G['tid'], array('views' => 1), true, $tableid);
为:
C::t('forum_thread')->increase($_G['tid'], array('views' => rand(2,9)), true, $tableid);
为每次浏览增加2~9之间(含2和9)的随机数更新数据库中的记录。但是这么修改也不是绝对的可以改变浏览量,还要结合网站管理后台的设置。
如果按上面的修改方法不好使,可以进入后台,按下面方法设置:
后台>>全局>>性能优化>>服务器优化>>是否优化更新主题浏览量
设置为“否” >> 提交
另外,也可以把下面这项设置为“否”,
后台>>全局>>性能优化>>服务器优化>>查看数开启防刷新
以上就是Discuz论坛修改浏览量为每次增加随机数的实现方法的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答