您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程
discuz开发关注功能的步骤方法
谭灶声2025-06-19Discuz教程已有人查阅
导读本文实现功能:1.关注和取消关注用户2. 判断与用户之间的关注关系,点击关注后显示已关注,取消关注后显示关注ta
本文实现功能: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值 我们能确定的请求地址为
然后我们在模板里边写上以下代码,就是关注ta的那个样式
关注ta
点击关注,这个时候我们关注就已经做好了。那么取消关注也是同理了哈!
接下来我们根据关键字follow在数据库字典里边搜索,发现会有一个用户关注关系表
打开数据库查到pre_home_follow 这个表,就会发现有一条数据就是关注者跟被关注者。
在上文中我们实现了关注与取消关注,但是当我们关注了用户后,是不是需要显示已关注 或者 关注ta的字样
处理是否显示关注
我们打开数据库字典搜索pre_common_member_count 用户统计表。
在这个表里边我们发现有收听数量和听众数量。那么对应的就是关注数量和粉丝数量
然后打开文件source/include/space/space_profile.php加上代码
已关注
关注ta
测试
没有关注时显示关注ta
关注之后显示以关注
关于本文的实现关注功能。在网上的资料不是很多,但是我们也可以自己去研究实现。后期会一直推送discuz的文章。有任何问题,评论区见。
实现方案
用户空间的入口是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
测试
没有关注时显示关注ta
关注之后显示以关注
关于本文的实现关注功能。在网上的资料不是很多,但是我们也可以自己去研究实现。后期会一直推送discuz的文章。有任何问题,评论区见。
本文标签:
很赞哦! ()
相关教程
图文教程
Discuz的NT各个模块功能说明文档
这个项目主要自定义了一些控件供其它模块使用.有些控件在其它项目中用的很多.模块化设计,似的DNT的各个页面风格统一.还有压根就不知道在哪里用的控件!不知道为什么放到那里.
Discuz的NT系统架构分析
DIscuz的NT支持2种数据源,SqlServer和MSAccess,但其数据库访问层实际上已经支持了MySQL,只是安装程序还未提供基于MySQL的。
discuz添加兼容html5标签音乐播放器的办法
关于在discuz中mp3附件自动添加Windows Media播放器插件的方法的文章网上有很多,只要修改./templates/default/discuzcode.htm文件就可以了
Windows7&IIS7.5在内网部署Discuz
部署环境就一台普通的PC,四核i3,Windows7。这就开搞了。系统是Windows 7 专业版,自带IIS7.5(家庭版不带)。IIS7开始带了FastCgi,对PHP支持好了许多,所以也不必装Apache啦。
相关源码
-
(响应式H5)帝国cms7.5文章新闻博客模板带会员中心本模板基于帝国CMS内核开发,为新闻资讯、个人博客及作品展示类网站设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验。查看源码 -
HTML5响应式健身俱乐部pbootcms网站模板下载为健身俱乐部、瑜伽中心及运动场馆设计的响应式网站模板,采用PbootCMS内核开发,支持一键替换图文适配健身器材销售、瑜伽工作室等多类型运动健康产业。查看源码 -
(PC+WAP)蓝色自动电动闸门伸缩门类网站pbootcms模板下载为电动闸门、自动伸缩门企业设计的响应式网站模板,突出产品展示与技术优势,助力门控设备企业建立专业数字化形象。手工编写DIV+CSS结构,代码精简高效,无冗余代码干扰,加载速度更快。查看源码 -
响应式WordPress简约博客主题Alt_BlogAlt_Blog主题该模板为博客内容展示设计,采用简约现代的风格理念,打造清晰的内容呈现平台。响应式布局确保在不同设备上都能获得良好的浏览体验,帮助博主更好地展示和分享内容。查看源码 -
(自适应)蓝色英文外贸电子科技产品带三级栏目网站模板为外贸企业设计的英文网站模板,基于PbootCMS系统开发。突出多语言支持和国际化布局,三级栏目结构清晰展示产品分类,响应式设计确保更好客户在移动端和PC端获得一致的专业体验。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码
| 分享笔记 (共有 篇笔记) |
