找回密码
 立即注册
查看: 1650|回复: 0

discuz修改帖子每次刷新后增加的数值

[复制链接]

168

主题

1

回帖

375

积分

管理员

积分
375
发表于 2024-11-8 18:44:49 | 显示全部楼层 |阅读模式
找到:source/module/forum/forum_viewthread.php文件
搜索代码:
  1. function viewthread_updateviews($tableid)
复制代码
找到代码:
  1. function viewthread_updateviews($tableid) {

  2.         global $_G;



  3.         if(!$_G['setting']['preventrefresh'] || $_G['cookie']['viewid'] != 'tid_'.$_G['tid']) {

  4.                 if(!$tableid && $_G['setting']['optimizeviews']) {

  5.                         if($_G['forum_thread']['addviews']) {

  6.                                 if($_G['forum_thread']['addviews'] < 100) {

  7.                                         C::t('forum_threadaddviews')->update_by_tid($_G['tid']);

  8.                                 } else {

  9.                                         if(!discuz_process::islocked('update_thread_view')) {

  10.                                                 $row = C::t('forum_threadaddviews')->fetch($_G['tid']);

  11.                                                 C::t('forum_threadaddviews')->update($_G['tid'], array('addviews' => 0));

  12.                                                 C::t('forum_thread')->increase($_G['tid'], array('views' => $row['addviews']+1), true);

  13.                                                 discuz_process::unlock('update_thread_view');

  14.                                         }

  15.                                 }

  16.                         } else {

  17.                                 C::t('forum_threadaddviews')->insert(array('tid' => $_G['tid'], 'addviews' => 1), false, true);

  18.                         }

  19.                 } else {

  20.                         C::t('forum_thread')->increase($_G['tid'], array('views' => 1), true, $tableid);

  21.                 }

  22.         }

  23.         dsetcookie('viewid', 'tid_'.$_G['tid']);

  24. }
复制代码
修改为:
  1. function viewthread_updateviews($tableid) {

  2.         global $_G;


  3.         $viewrand = rand(2,10);


  4.         if(!$_G['setting']['preventrefresh'] || $_G['cookie']['viewid'] != 'tid_'.$_G['tid']) {
  5.                
  6.                 if(!$tableid && $_G['setting']['optimizeviews']) {

  7.                         if($_G['forum_thread']['addviews']) {

  8.                                 if($_G['forum_thread']['addviews'] < 100) {

  9.                                         C::t('forum_threadaddviews')->update_by_tid($_G['tid']);

  10.                                 } else {

  11.                                         if(!discuz_process::islocked('update_thread_view')) {

  12.                                                 $row = C::t('forum_threadaddviews')->fetch($_G['tid']);

  13.                                                 C::t('forum_threadaddviews')->update($_G['tid'], array('addviews' => $viewrand));

  14.                                                 C::t('forum_thread')->increase($_G['tid'], array('views' => $row['addviews']+$viewrand), true);

  15.                                                 discuz_process::unlock('update_thread_view');

  16.                                         }

  17.                                 }

  18.                         } else {

  19.                                 C::t('forum_threadaddviews')->insert(array('tid' => $_G['tid'], 'addviews' => $viewrand), false, true);

  20.                         }

  21.                 } else {

  22.                         C::t('forum_thread')->increase($_G['tid'], array('views' => $viewrand), true, $tableid);

  23.                 }

  24.         }

  25.         dsetcookie('viewid', 'tid_'.$_G['tid']);

  26. }
复制代码
主要修改的是:
1.创建随机数变量:
  1. $viewrand = rand(2,10);
复制代码
rand(2,10)表示的2-10之间的随机数;
2.修改原有的几个更新方法:
分别是:
  1. C::t(‘forum_thread’)->increase($_G[‘tid’], array(‘views’ => $row[‘addviews’]+
  2. 1), true);

  3.   C::t(‘forum_threadaddviews’)->insert(array(‘tid’ => $_G[‘tid’], ‘addviews’ =>
  4. 1), false, true);

  5.   C::t(‘forum_thread’)->increase($_G[‘tid’], array(‘views’ =>
  6. 1), true, $tableid);
复制代码
改为:
  1. C::t(‘forum_thread’)->increase($_G[‘tid’], array(‘views’ => $row[‘addviews’]+$viewrand), true);

  2.   C::t(‘forum_threadaddviews’)->insert(array(‘tid’ => $_G[‘tid’], ‘addviews’ => $viewrand), false, true);

  3.   C::t(‘forum_thread’)->increase($_G[‘tid’], array(‘views’ => $viewrand), true, $tableid);
复制代码
就好了!
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|洪湖在线网 ( 鄂ICP备18020272号-1 )

GMT+8, 2025-6-4 09:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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