Discuz主题浏览量实现原理和不更新的方法


小编给大家分享一下Discuz主题浏览量实现原理和不更新的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文主要内容:解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化如果你是新手discuz开发人员可以从头查看文章如果你是一个站长直接看文章底部总结即可这这页面为主题页面上面红框为主题的浏览量使用的是$_G[forum_thread]190 次浏览下面全部回复为回帖数量使用的是$_G[forum_thread][replies]然而我们刷新页面时浏览量并不会增加,但是我们在主题回复一个帖子时浏览量就会增加那我们在测试一下,新增一个回帖,会发现确实如此哈!但是问题不是那么简单,请继续看下文第一步:我们需要确认浏览量跟回帖量是不是这俩个字段第二步:我们需要追溯浏览量增加的原理那么下来咱们来排查第一个问题:打开数据库字典查看pre_forum_thread 表,那么我们就确定了我们在源码里使用的变量是正确的在代码的986行,我们就解决了我们的第一个问题,那就是为什么浏览量跟回帖量的数据是一样的,这是因为在这里做了一个判断。如果回复贴的数量大于主题浏览量时,会让浏览量开发云主机域名跟回帖量相等然后继续寻找更新主题浏览量的代码:在1054行里有viewthread_updateviews这个方法,根据字面意思我们都能理解这个方法是干嘛的,主题更新浏览量的。这段代码执行的步骤先回判断后台是否开启了优化主题浏览量优化功能然后判断全局变量里边addviews这个的值如果这个值小于100就会把数据更新到pre_forum_threadaddviews这个表如果当addviews这个值大于100时就会清空此专题的浏览量,然后会把这个数据存进pre_forum_thread 主题表的views字段这就是基本的实现流程在上述中,我们发现了浏览量是不会直接存入主题表的,这样做的好处就是防止频繁更新主题表,防止锁表到了这里我想该明白的也都明白了,关于主题浏览量不增加的原因其实都是后台控制的,因为在上段代码中的第一行就可以看到这个preventrefresh值是控制是否开启优化主题浏览量的只要根据咔咔这样配置就可以了。但是作为开发者来说对一个功能点的实现必须追溯源码,只有这样才可以不断提升自己。以上是Discuz主题浏览量实现原理和不更新的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注开发云行业资讯频道!

相关推荐: dedecms首页幻灯片显示问题应该如何解决

小编给大家分享一下dedecms首页幻灯片显示问题应该如何解决,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!怎么解决dedecms首页幻灯片显示问题?Dedecms新版出来,幻灯片一向是令人头疼的问题,本帖天涯对幻灯显示做一个总结。目前在官网下载…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/16 08:27
下一篇 03/16 08:27

相关推荐