discuz如何開發關注功能
本文實現功能:
1.關注和取消關注用戶
2. 判斷與用戶之間的關注關係
實現效果
點擊關注後顯示已關注,取消關注後顯示關注ta
#實作方案
使用者空間的入口是home.php文件,所以我們需要先從home.php這個檔案入手
開啟檔案home.php檔案的29行可以看到使用in_array進行了一次判斷,主要注重space和spacecp這兩個模組
我們先認識兩個單字:space(空間) 和spacecp(翻譯過來是太空計畫)
#然後我們需要打開discuz原來的預設模板(這個是你自己在搭建一個discuz應用,沒有任何改動的程式碼),然後發一個主題,隨便點擊一個用戶圖像,查看網址列的地址資訊。
發現進入的是space這個模組
那麼根據網址列我們可以找到source/include/space/space_profile.php這個文件。但是在這個文件裡邊,找不到任何關於關注的程式碼。
但是這個檔案裡邊包含了關於使用者空間的所有需要的資料。例如用戶粉絲量,用戶主題數、用戶關注的數量、用戶好友數。這些值都保存在$space這個變數中,直接在模板裡邊使用介面。關於這些欄位可以在資料庫字典裡邊直接搜尋關鍵字即可
於是我們在看一下spacecp這個模組,在這個目錄下, 我們發現了follow這個檔案。 follow的英文翻譯過來就有關注的意思。
在學習別人專案時,我們第一需要看文檔,第二是需要自己根據目錄結構和文件名稱來猜想其含義
打開檔案source/include/spacecp/spacecp_follow.php。在檔案一開頭就有兩個數值,一個add一個del。然後是使用的op這個變數接收的。根據這個op變數就可以知道加入關注是add 取消關注時del方法
我們在add裡邊發現一個值follow_not_follow_self這個我的理解是自己不能關注自己。可以在language裡邊進行搜尋這個值去進行確認。這裡就已經證明了source/include/spacecp/spacecp_follow.php就是實作關注的檔案
接下來就是怎麼進行請求呢!
根據下面箭頭所指向的四個$_GET值 我們能確定的請求位址為
home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$space[uid]}&mobile=2
至於為何能確定請求位址,後文在介紹,本文重點是關注功能
然後我們在模板裡邊寫上以下程式碼,就是關注ta的那個樣式
关注ta
點擊關注,這個時候我們關注就已經做好了。那麼取消追蹤也是同理了哈!
接下來我們根據關鍵字follow在資料庫字典裡邊搜索,發現會有一個使用者關注關係表
打开数据库查到pre_home_follow 这个表,就会发现有一条数据就是关注者跟被关注者。
在上文中我们实现了关注与取消关注,但是当我们关注了用户后,是不是需要显示已关注 或者 关注ta的字样
处理是否显示关注
我们打开数据库字典搜索pre_common_member_count 用户统计表。
在这个表里边我们发现有收听数量和听众数量。那么对应的就是关注数量和粉丝数量
然后打开文件source/include/space/space_profile.php加上代码
# 判断是否关注 $follow_data = DB::fetch_all("select * from pre_home_follow where uid = '$_G[uid]' and followuid = '$space[uid]' limit 1"); if(!empty($follow_data)){ $space['is_follow'] = $follow_data[0]['mutual']; }
在template/default/touch/home/space_profile.htm模板里边进行判断
测试
没有关注时显示关注ta
关注之后显示以关注
总结
关于本文的实现关注功能。在网上的资料不是很多,但是我们也可以自己去研究实现。后期会一直推送discuz的文章。有任何问题,评论区见。
以上是discuz如何開發關注功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Discuz後台登入問題解決方法大揭秘,需要具體程式碼範例隨著網路的快速發展,網站建置變得越來越普遍,而Discuz作為一款常用的論壇建站系統,受到了許多站長的青睞。然而,正是因為其功能強大,有時候我們在使用Discuz的過程中會遇到一些問題,例如後台登入問題。今天,我們就來大揭秘Discuz後台登入問題的解決方法,並且提供具體的程式碼範例,希望能幫助到有需要

《Discuz註冊流程詳解:讓您輕鬆修改個人信息,需要具體代碼示例》Discuz是一款功能強大的社區論壇程序,被廣泛應用於各類網站,在用戶註冊和個人信息修改方面,提供了豐富的功能和介面。本文將為您詳細介紹Discuz的註冊流程,並提供具體的程式碼範例,幫助您輕鬆自訂和修改個人資訊。一、使用者註冊流程在Discuz中,使用者註冊是網站的重要功能之一,註冊流程的順暢與

《探索Discuz:定義、功能及程式碼範例》隨著網路的快速發展,社群論壇已成為人們獲取資訊、交流觀點的重要平台。在眾多的社群論壇系統中,Discuz作為國內較知名的一種開源論壇軟體,備受廣大網站開發者和管理員的青睞。那麼,什麼是Discuz?它又有哪些功能,能為我們的網站提供怎樣的幫助呢?本文將對Discuz進行詳細介紹,並附上具體的程式碼範例,幫助讀者更

Discuz用戶必備!改名道俱全面解析!在Discuz論壇中,改名功能一直備受用戶關注與需求。對於一些需要改名的使用者來說,透過改名道具可以輕鬆實現使用者名稱的修改,而且這也是一種有趣的互動方式。以下就讓我們深入探討Discuz中的改名道具,包括如何取得、如何使用、一些常見問題的解決方法。 1.取得改名道具在Discuz中,改名道具通常是透過點數購買或管理員

遇到Discuz密碼錯誤怎麼辦?快速解決方案分享! Discuz!是一款非常受歡迎的論壇程序,它為用戶提供了一個方便交流的平台。在使用Discuz!論壇時,有時會遇到密碼錯誤的情況,這可能會導致使用者無法正常登入和使用論壇。那麼,遇到Discuz!密碼錯誤時,我們該如何快速解決這個問題?以下將分享一些解決方案,並提供具體的程式碼範例供參考。一、檢查密碼是否

標題:解決Discuz微信分享無法顯示的問題,需要具體程式碼範例隨著行動網路的發展,微信成為了人們日常生活中不可或缺的一部分。在網站開發中,為了提升使用者體驗和擴大網站的曝光度,許多網站會整合微信分享功能,讓使用者能夠輕鬆分享網站的內容到朋友圈或微信群組。然而,有時在使用Discuz等開源論壇系統時,會遇到微信分享無法顯示的問題,這給使用者體驗帶來了一定的困

Discuz編輯器:強大的網頁編輯工具,需要具體程式碼範例隨著網路的發展,網站建立和內容編輯變得越來越重要。作為常見的網頁編輯工具,Discuz編輯器在網站建置中扮演著重要的角色。它不僅提供了豐富的功能和工具,還能夠幫助使用者更方便地編輯和發佈內容。在本文中,我們將介紹Discuz編輯器的特點和使用方法,並提供一些具體的程式碼範例,來幫助讀者更好地了解和使用

標題:Discuz後台帳號登入異常,如何處理?當你使用Discuz論壇系統的後台管理時,有時候可能會遇到帳號登入異常的情況。這可能是由於多種原因導致的,可能是密碼錯誤、帳號被封鎖、網路連線問題等。在遇到這種情況時,我們需要透過簡單的排查和處理來解決這個問題。檢查帳號和密碼是否正確:首先,確認你輸入的帳號和密碼是否正確。登入時,請確保大小寫輸入正確,密碼是否
