Dsicuz移动端二开之关注和粉丝页面以及关注状态处理(1)

简介: Dsicuz移动端二开之关注和粉丝页面以及关注状态处理

本文实现功能:


  1. 开发移动端关注页面


  1. 开发移动端粉丝页面


  1. 实现从自己空间看见的关注列表都显示已关注


  1. 实现自己看其他人关注列表时  自己关注的用户显示已关注  自己未关注的用户显示关注


  1. 解决如何在PHP文件里边显示移动端页面


前期准备:解决PHP文件里边显示移动端页面

在discuz中移动端是没有粉丝,关注页面的,那么就需要我们来开发。以下就是开发流程。


discuz中pc端是有收听和听众的功能。如下图home.php?mod=follow&do=follower这个地址就是对应的pc端的粉丝页面


image.png


然后我们可以追溯PHP文件source/module/home/home_follow.php  的这个文件。在这个文件里,我们只需要注意到follower 和 following 这俩个名字。这俩个一个是关注的意思  一个是粉丝的意思


image.png


然后根据discuz的访问机制我们去模板里找一下follow_follower.html这个文件。但是在模板里边我们发现使用follow开头的文件就这几个



image.png

继续来到文件source/module/home/home_follow.php然后拉到最后看加载的模板。这里可以看到加载的模板就是上边看到的follow_feed.html这个文件。

image.png

那么我们就来到template/default/home/follow_feed.htm这个文件里边,大概是在554行左右可以看到很熟悉的俩个模块一个follower和following

image.png



既然已经猜想是在这里了,那就写一个测试代码测试一下。


经过测试我们就已经确信无误了,这个页面就是加载的关注页面和粉丝页面。


image.png


image.png


在上面的测试会发现地址请求的是/home.php?mod=follow&do=follower,但是加载html文件却是template/default/home/follow_feed.htm。也就是说在dsicuz中如果需要加载跟请求地址不一致的文件,需要使用template函数来加载。


那么下面咱们自己写一个移动端follow_follower文件。


image.png

image.png

然后浏览器调整为手机访问模式即可


image.png

以上就是二开关注页面和粉丝页面PHP如何加载


开发粉丝页面和关注页面并实现数据接入

在模板里边我们也可以这样写,判断do为follower时进入粉丝模板,为关注时进入关注模板

image.png

下图就是咔咔开发关注页面的效果


image.png


那么页面写完了我们就需要实现数据对接了。继续回到template/default/home/follow_feed.htm这个文件。可以看到使用的数据是list,循环使用的是fuser这个变量


image.png


实现关注显示与不显示

打开discuz数据库字典,可以看到是否关注使用的是mutual这个字段

image.png


根据mutual这个字段来控制关注与已关注的显示与不显示


当自己进入自己空间时在关注列表里边是全部显示已关注  判断条件是 当$_G[uid] == $_GET[uid]时mutual>=0即可


当自己进入别人空间查看关注列表时 如果是自己关注的用户需要显示已关注  否则显示关注即可   这里的判断条件是  $_G[uid] != $_GET[uid]时mutual==-1或者mutual==1即可。这里为什么会有一个mutual=-1的标识。数据库字典是没有这个标识的,但是实际测试出来的是有的,咔咔也看了源码是做了一个判断,先知道这么判断就行


在关注列表里边所有的链接地址都为home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2。所有的用户标识都是followuid即可


粉丝列表就很简单,直接使用-1和1判断即可


也就是说mutual这个字段的值为0 和1是只能判断自己在自己空间查看关注和粉丝列表时可以使用。如果是自己进入其他用户的粉丝和关注列表就会产生一个mutual的值为-1的一个字段


那也就是当自己进入其他用户有自己已经关注的用户时mutual的值就是-1


相关文章
|
25天前
|
安全 开发工具 Android开发
说一说你对移动应用中的社交分享功能的实现。
【4月更文挑战第1天】移动应用通过集成社交媒体SDK,如微信的,实现分享功能,增强互动性与传播。用户授权后,应用可定制分享内容,如图文,选择适合的平台如抖音。分享统计用于分析效果,优化用户体验,同时遵守法规,确保隐私安全。全面测试保证功能稳定,助力应用增长。
11 0
|
2月前
|
缓存 小程序 数据可视化
【社区每周】小程序授权弹层和菜单支持长辈版、无障碍版;AMPE情景智能新增widget卡片能力(2022年6月第一期)
【社区每周】小程序授权弹层和菜单支持长辈版、无障碍版;AMPE情景智能新增widget卡片能力(2022年6月第一期)
19 0
|
6月前
|
存储 小程序 API
【 uniapp - 黑马优购 | 购物车页面(2)】如何实现收货地址区域功能、常见问题解决方案
【 uniapp - 黑马优购 | 购物车页面(2)】如何实现收货地址区域功能、常见问题解决方案
164 0
|
6月前
|
存储 小程序 前端开发
【易售小程序项目】小程序私聊页面完善(带尾巴聊天气泡组件封装、滑至顶端获取历史聊天数据逻辑优化)【后端基于若依管理系统开发】
【易售小程序项目】小程序私聊页面完善(带尾巴聊天气泡组件封装、滑至顶端获取历史聊天数据逻辑优化)【后端基于若依管理系统开发】
29 0
|
6月前
|
存储 小程序 前端开发
【易售小程序项目】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
【易售小程序项目】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
73 0
|
8月前
|
前端开发
使用饿了么组件,页面初次机进入饿了么样式不生效问题解决方案
使用饿了么组件,页面初次机进入饿了么样式不生效问题解决方案
|
11月前
|
存储 小程序 JavaScript
借助云开发实现小程序朋友圈的发布与展示
借助云开发实现小程序朋友圈的发布与展示
|
12月前
|
Web App开发 移动开发 缓存
移动端H5网页开发常见问题汇总
H5网页开发常见问题汇总
428 0
短视频app开发,如何实现优质内容的优先展示?
短视频app开发,如何实现优质内容的优先展示?
|
人工智能 供应链 安全
DingTalk「开发者说」- 酷应用业务篇之:类目酷应用化的机会点及方法路径剖析
本篇主要讲解酷应用的红利期与机会点,以及做酷应用的方法路径。
DingTalk「开发者说」- 酷应用业务篇之:类目酷应用化的机会点及方法路径剖析