Discuz主题浏览量实现原理和不更新的解决方案
本文主要内容:
解决Discuz主题浏览量不发生变化或者跟这回复帖子的数量一起变化
如果你是新手discuz开发人员可以从头查看文章
如果你是一个站长直接看文章底部总结即可
更多文章尽在专栏:Discuz专栏
问题还原
这这页面为主题页面
上面红框为主题的浏览量使用的是$_G[forum_thread][views]
下面全部回复为回帖数量使用的是$_G[forum_thread][replies]
然而我们刷新页面时浏览量并不会增加,但是我们在主题回复一个帖子时浏览量就会增加
那我们在测试一下,新增一个回帖,会发现确实如此哈!但是问题不是那么简单,请继续看下文
排查步骤
第一步:我们需要确认浏览量跟回帖量是不是这俩个字段
第二步:我们需要追溯浏览量增加的原理
那么下来咱们来排查第一个问题:打开数据库字典查看pre_forum_thread 表,那么我们就确定了我们在源码里使用的变量是正确的
追溯浏览量实现的原理
在代码的986行,我们就解决了我们的第一个问题,那就是为什么浏览量跟回帖量的数据是一样的,这是因为在这里做了一个判断。如果回复贴的数量大于主题浏览量时,会让浏览量跟回帖量相等
然后继续寻找更新主题浏览量的代码:在1054行里有viewthread_updateviews这个方法,根据字面意思我们都能理解这个方法是干嘛的,主题更新浏览量的。
这段代码执行的步骤
先回判断后台是否开启了优化主题浏览量优化功能
然后判断全局变量里边addviews这个的值
如果这个值小于100就会把数据更新到pre_forum_threadaddviews这个表
如果当addviews这个值大于100时就会清空此专题的浏览量,然后会把这个数据存进pre_forum_thread 主题表的views字段
这就是基本的实现流程
在上述中,我们发现了浏览量是不会直接存入主题表的,这样做的好处就是防止频繁更新主题表,防止锁表
总结
到了这里我想该明白的也都明白了,关于主题浏览量不增加的原因其实都是后台控制的,因为在上段代码中的第一行就可以看到这个preventrefresh值是控制是否开启优化主题浏览量的
只要根据咔咔这样配置就可以了。
但是作为开发者来说对一个功能点的实现必须追溯源码,只有这样才可以不断提升自己。
Atas ialah kandungan terperinci Discuz主题浏览量实现原理和不更新的解决方案. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian masalah log masuk latar belakang Discuz didedahkan. ramai webmaster. Walau bagaimanapun, dengan tepat kerana fungsinya yang berkuasa, kadangkala kami menghadapi beberapa masalah semasa menggunakan Discuz, seperti masalah log masuk latar belakang. Hari ini, kami akan mendedahkan penyelesaian kepada masalah log masuk latar belakang Discuz dan memberikan contoh kod khusus, dengan harapan dapat membantu mereka yang memerlukan

Wajib ada untuk pengguna Discuz! Analisis komprehensif untuk menamakan semula prop! Dalam forum Discuz, fungsi pertukaran nama sentiasa mendapat perhatian dan permintaan daripada pengguna. Bagi sesetengah pengguna yang perlu menukar nama mereka, prop menukar nama boleh mengubah suai nama pengguna dengan mudah, dan ia juga merupakan cara interaksi yang menarik. Mari kita lihat secara mendalam tentang penamaan semula prop dalam Discuz, termasuk cara mendapatkannya, cara menggunakannya dan penyelesaian kepada beberapa masalah biasa. 1. Dapatkan prop menukar nama dalam Discuz prop menukar nama biasanya dibeli melalui mata atau pentadbir

"Penjelasan Terperinci Proses Pendaftaran Discuz: Membolehkan anda mengubah suai maklumat peribadi dengan mudah, contoh kod khusus diperlukan" Discuz ialah program forum komuniti yang kuat yang digunakan secara meluas dalam pelbagai laman web Ia menyediakan banyak fungsi pendaftaran pengguna dan pengubahsuaian dan antara muka. Artikel ini akan memperkenalkan anda kepada proses pendaftaran Discuz secara terperinci dan memberikan contoh kod khusus untuk membantu anda menyesuaikan dan mengubah suai maklumat peribadi anda dengan mudah. 1. Proses pendaftaran pengguna Di Discuz, pendaftaran pengguna adalah salah satu fungsi penting laman web ini

"Meneroka Discuz: Definisi, Fungsi dan Contoh Kod" Dengan perkembangan pesat Internet, forum komuniti telah menjadi platform penting untuk orang ramai mendapatkan maklumat dan bertukar pendapat. Di antara banyak sistem forum komuniti, Discuz, sebagai perisian forum sumber terbuka yang terkenal di China, digemari oleh majoriti pembangun dan pentadbir laman web. Jadi, apa itu Discuz? Apakah fungsi yang ada padanya, dan bagaimana ia boleh membantu tapak web kami? Artikel ini akan memperkenalkan Discuz secara terperinci dan melampirkan contoh kod khusus untuk membantu pembaca mengetahui lebih lanjut mengenainya.

Apakah yang perlu saya lakukan jika saya menemui kata laluan Discuz yang salah? Perkongsian penyelesaian pantas! Discuz! Ia adalah program forum yang sangat popular yang menyediakan pengguna dengan platform untuk komunikasi yang mudah. Menggunakan Discuz! Apabila mengakses forum, kadangkala anda mungkin menghadapi kata laluan yang salah, yang boleh menyebabkan pengguna tidak dapat log masuk dan menggunakan forum seperti biasa. Nah, jumpa Discuz! Apabila kata laluan salah, bagaimana kita harus menyelesaikan masalah dengan cepat? Beberapa penyelesaian akan dikongsi di bawah, dengan contoh kod khusus disediakan untuk rujukan. 1. Semak sama ada kata laluan

Tajuk: Untuk menyelesaikan masalah yang dikongsi oleh Discuz WeChat tidak dapat dipaparkan, contoh kod khusus diperlukan Dengan pembangunan Internet mudah alih, WeChat telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian orang ramai. Dalam pembangunan tapak web, untuk meningkatkan pengalaman pengguna dan mengembangkan pendedahan laman web, banyak tapak web akan menyepadukan fungsi perkongsian WeChat, membolehkan pengguna berkongsi kandungan tapak web dengan mudah ke kumpulan Moments atau WeChat. Walau bagaimanapun, kadangkala apabila menggunakan sistem forum sumber terbuka seperti Discuz, anda akan menghadapi masalah yang dikongsi WeChat tidak dapat dipaparkan, yang membawa kesukaran tertentu kepada pengalaman pengguna.

Penjelasan terperinci tentang langkah-langkah untuk mengubah suai nama domain Discuz pengoptimuman, atau sebab lain. Tidak kira apa sebabnya, mengubah suai nama domain Discuz adalah proses yang memerlukan operasi yang teliti Hari ini kami akan memperkenalkan langkah-langkah mengubah suai nama domain Discuz secara terperinci dan memberikan contoh kod tertentu. Langkah 1: Sandarkan data Sebelum mengubah suai nama domain, anda mesti memastikan laman web tersebut

Editor Discuz: Alat penyuntingan halaman web yang berkuasa yang memerlukan contoh kod khusus Dengan perkembangan Internet, pembinaan laman web dan penyuntingan kandungan menjadi semakin penting. Sebagai alat penyunting halaman web biasa, editor Discuz memainkan peranan penting dalam pembinaan laman web. Ia bukan sahaja menyediakan pelbagai fungsi dan alatan, tetapi juga membantu pengguna mengedit dan menerbitkan kandungan dengan lebih mudah. Dalam artikel ini, kami akan memperkenalkan ciri dan penggunaan editor Discuz, dan menyediakan beberapa contoh kod khusus untuk membantu pembaca memahami dan menggunakannya dengan lebih baik.
