主页 > 教程合集 > 网站建设 >

Discuz论坛的浏览量为每次增加随机数的实现方法

时间:2020-07-15 阅读:0

文件位置:/source/module/forum/forum_viewthread.php

Discuz论坛的浏览量为每次增加随机数的实现方法

对函数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)的随机数更新数据库中的记录。

但是这么修改也不是绝对的可以改变浏览量,还要结合网站管理后台的设置。

如果按上面的修改方法不好使,可以进入后台,按下面方法设置:

后台>>全局>>性能优化>>服务器优化>>是否优化更新主题浏览量

设置为“否” >> 提交

另外,也可以把下面这项设置为“否”,

后台>>全局>>性能优化>>服务器优化>>查看数开启防刷新

本站所有资源均在Resource资源站有分享,你可以点击 >>> Resource 进入资源站自助提取。

余斗余斗
  • 版权声明:原创文章由发表在网站建设分类下,2020-07-15最后更新,转载注明出处。

相关推荐

返回顶部