本文主要內容:
解決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值是控制是否開啟優化主題瀏覽量的
只要根據咔咔這樣配置就可以了。 但是身為開發者來說對一個功能點的實作必須追溯源碼,只有這樣才可以不斷提升自己。以上是Discuz主題瀏覽量實現原理與不更新的解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器