位置: IT常识 - 正文

discuz如何开发关注功能(discuzq开发)

编辑:rootadmin
本文实现功能:1.关注和取消关注用户;2. 判断与用户之间的关注关系实现效果点击关注后显示已关注,取消关注后显示关注ta实现方案用户空间的入口是home.php文件。

推荐整理分享discuz如何开发关注功能(discuzq开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:discuz门户怎么用,discuz怎么使用,discuzq开发,discuz怎么使用,discuzq开发,discuzq开发,discuz开发者,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方法

discuz如何开发关注功能(discuzq开发)

我们在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的那个样式

<a href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$space[uid]}&mobile=2" class="dialog fz12 follow">关注ta</a>

点击关注,这个时候我们关注就已经做好了。那么取消关注也是同理了哈!

接下来我们根据关键字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模板里边进行判断

<div class="porfile_card_follow cl"><!--{if isset($space[is_follow]) && $space[is_follow] == 0}--><a href="home.php?mod=spacecp&ac=follow&op=del&fuid={$space[uid]}&mobile=2" class="dialog fz12 follow">已关注</a><!--{else}--><a href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$space[uid]}&mobile=2" class="dialog fz12 follow">关注ta</a><!--{/if}--></div>测试

没有关注时显示关注ta

关注之后显示以关注

总结

关于本文的实现关注功能。在网上的资料不是很多,但是我们也可以自己去研究实现。后期会一直推送discuz的文章。有任何问题,评论区见。

本文链接地址:https://www.jiuchutong.com/zhishi/303299.html 转载请保留说明!

上一篇:关于高德地图2.0卡顿问题的解决方案(chrome设置+显卡设置)(关于高德地图的分析报告)

下一篇:JavaScript の querySelector 使用说明

  • 苹果13怎么设置小圆点(苹果13怎么设置壁纸和锁屏)

    苹果13怎么设置小圆点(苹果13怎么设置壁纸和锁屏)

  • 微信公积金人脸识别失败(微信公积金人脸识别失败怎么办)

    微信公积金人脸识别失败(微信公积金人脸识别失败怎么办)

  • 实名认证超过限制怎么办(实名认证超过限制怎么解除绑定)

    实名认证超过限制怎么办(实名认证超过限制怎么解除绑定)

  • p40悬浮球在哪(p40悬浮球哪关)

    p40悬浮球在哪(p40悬浮球哪关)

  • 微信好友删除了怎么找回聊天记录(微信好友删除了怎么找回来)

    微信好友删除了怎么找回聊天记录(微信好友删除了怎么找回来)

  • 微信可以发几分钟的视频(微信可以发几分钟的朋友圈)

    微信可以发几分钟的视频(微信可以发几分钟的朋友圈)

  • 微信运动点赞是自动的吗(微信运动点赞是陌生人嘛)

    微信运动点赞是自动的吗(微信运动点赞是陌生人嘛)

  • 钉钉云课堂考试退出会自动提交吗(钉钉云课堂考试能分屏吗)

    钉钉云课堂考试退出会自动提交吗(钉钉云课堂考试能分屏吗)

  • 苹果手机为什么会卡顿现象(苹果手机为什么打不开wifi开关)

    苹果手机为什么会卡顿现象(苹果手机为什么打不开wifi开关)

  • 抖音没有营业执照怎么开通企业认证(抖音没有营业执照怎么开通个人小店)

    抖音没有营业执照怎么开通企业认证(抖音没有营业执照怎么开通个人小店)

  • 小米10用什么膜(小米10用什么膜最好)

    小米10用什么膜(小米10用什么膜最好)

  • qq好友辅助成功后多久收到信息(qq好友辅助成功没反应)

    qq好友辅助成功后多久收到信息(qq好友辅助成功没反应)

  • 小米6可以直接换外屏吗(小米可以直接喂鱼吗)

    小米6可以直接换外屏吗(小米可以直接喂鱼吗)

  • 京东公开版是国行吗(京东商城公开版什么意思)

    京东公开版是国行吗(京东商城公开版什么意思)

  • 快手推广曝光量啥意思(快手推广曝光量怎么收费)

    快手推广曝光量啥意思(快手推广曝光量怎么收费)

  • 计算机系统内部总线分为(计算机系统内部总线)

    计算机系统内部总线分为(计算机系统内部总线)

  • 苹果怎么取消时间限额(苹果怎么取消时间和日期)

    苹果怎么取消时间限额(苹果怎么取消时间和日期)

  • 两微一端的端是指什么(两微一端的区别)

    两微一端的端是指什么(两微一端的区别)

  • 画图窗口由什么组成(画图窗口由什么部分组成的)

    画图窗口由什么组成(画图窗口由什么部分组成的)

  • 华为nave5pro如何分屏

    华为nave5pro如何分屏

  • 小米6快充多久能充满(小米6快充多久可以充满)

    小米6快充多久能充满(小米6快充多久可以充满)

  • 打印机拒绝访问是什么问题(打印机拒绝访问无法连接怎么办)

    打印机拒绝访问是什么问题(打印机拒绝访问无法连接怎么办)

  • 美团怎么设置地理位置(美团怎么设置地图导航)

    美团怎么设置地理位置(美团怎么设置地图导航)

  • 小米max2多少钱(小米13pro多少钱)

    小米max2多少钱(小米13pro多少钱)

  • 新个税年终奖计算公式
  • 反写不了是为什么
  • 向个人账户汇款选项
  • 房地产企业承担的债务
  • 多项固定资产能否合并入账
  • 差额发票和全额发票的税率
  • 房地产预交税金及附加要计提吗
  • 当月发票入库核销怎么算
  • 购入的工具应计入哪个科目?
  • 抵债的货物按什么算增值税
  • 收到以前年度退所得税分录
  • 个人出租仓库需交税吗
  • 技术转让所得减半征收计算
  • 免征增值税和附加税区别
  • 从两处领取工资,个人所得税应该如何申报缴纳?
  • 转让公司账本凭证都要移交吗
  • 新三板企业转主板条件
  • 税控技术服务费需要交印花税吗
  • 企业预付的固定资产折旧
  • 小规模企业如何收款
  • 需要安装和检验的什么时候确认收入
  • 收到发票对方已红冲是否退回?
  • 专业服务业政策
  • bios报警声是怎样的
  • windows history命令
  • 一次性补偿金在取得后间隔一个月申报可以吗
  • 查补以前年度企业所得税的申报处理
  • 贷款的钱转账了怎么办
  • 政府补助退回的账务处理
  • 材料成本差异贷方表示
  • 发票开具的常见错误
  • 社会保险费征缴暂行条例是谁制定
  • vue3 ts知乎专栏
  • vue如何销毁页面
  • 增值税申报主表在哪里查询
  • 利得是什么举个例子
  • 社保挂靠公司收费标准是怎样的
  • thinkphp框架入门
  • springboot比spring做了哪些改进
  • vue框架是什么样子的
  • 编程中char什么意思
  • vue动态路由是什么
  • php require函数
  • 三栏式明细账需要每笔结余额吗
  • php的框架
  • 织梦官方网站
  • 织梦系统
  • 个人劳务报酬所得税税率表
  • 以前年度出口退税未收汇
  • 销售边角料税率是多少
  • 财务费用利息属于什么科目
  • 党委经费是国家政府出吗?
  • 二类银行卡转账能收多少钱
  • 收到融资租赁发票要交印花税吗
  • 从农民手里租用土地用于科研要开发票吗
  • 预计负债的会计和税务处理
  • 租赁房屋期间发生事故谁负责
  • sql需要哪些基础
  • mysql5624安装教程
  • mysql安装配置教程5.7.25
  • ubuntu系统鼠标没反应
  • mac通讯录怎么删除
  • fedora s9
  • 怎么检测u盘是否扩容
  • 做ghost备份
  • mac wife
  • NJeeves.exe - NJeeves进程文件是什么意思 有什么用
  • win10外置光驱读不出光盘怎么办
  • win7网速很慢
  • win81with update
  • JavaScript数组添加元素
  • 2014年最火的英文歌
  • linux的open
  • js中concat的用法
  • jquery弹出提示框
  • 绩效三级指标体系
  • 江苏省教师增量绩效多少
  • 专利转让个人所得税率
  • 预缴的税额可以用留底抵扣吗
  • 天津市网签查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设