陈奇网络工作室

Discuz如何实现移动端二选一的兴趣、粉丝页面和兴趣状态处理

建设工作站服务器

本文详细介绍了Discuz如何实现移动终端的两种兴趣、粉丝页面和兴趣状态处理。 文章内容质量很高,编辑请参考。 我希望你读了这篇文章之后能理解知识。

正文的实现功能:

开发移动端关注页面

移动粉丝页面的开发

要实现从自己的空间可见的监视列表,全部显示监视列表

实现自己在查看其他人关注列表时,自己关注的用户显示自己不关注的用户并显示关注

解决如何在PHP文件中显示移动页面

预先准备:解决移动页面出现在PHP文件中的问题

discuz移动端没有粉丝。 关注页面。 那么有必要由我们来开发。 以下是开发过程。

在discuz中,pc端具有监听和收听的功能。 下图的home.php? 这是mod=followdo=follower这个地址所对应的pc端的粉丝页面

然后可以跟随PHP文件source/module/home/home _ follow.PHP中的此文件。 在这个文件中,您只需关注两个名字: follower和following。 这两个人一个是关注的意思,一个是粉丝的意思

然后,根据discuz的访问机制,在模板中查找名为follow_follower.html的文件。 但是,我发现在模板中以follow开头的文件就是这几个

继续来到文件source/module/home/home _ follow.PHP,查看加载的模板。 这里加载的模板是上面看到的名为follow_feed.html的文件。

那么,来到名为template/default/home/follow _ feed.htm的文件中,大概在554行左右就可以在一个follower和following中看到熟悉的两个模块

既然预料到会在这里,就写测试代码测试一下吧。

经过测试,我们确信没有错。 此页面是加载的关注页面和粉丝页面。

上面的测试表明地址正在请求/home.php吗? mod=followdo=follower,但当加载html文件时,它将变为template/default/home/follow _ feed.htm。 这意味着如果dsicuz需要加载与请求地址不匹配的文件,则必须使用template函数进行加载。

那么,自己写移动端的follow_follower文件吧。

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

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

开发粉丝页面和关注页面,实现数据访问

在模板中也这样写,当do判断为follower时可以进入粉丝模板,关注的时候可以进入关注模板

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

页面写完后,需要实现数据对接。 继续返回名为template/default/home/follow _ feed.htm的文件。 您可以看到使用的数据是list,循环使用的是名为fuser的变量

实现关注显示和隐藏

打开discuz数据库词典,可以看到您是否关注使用名为mutual的字段

基于名为mutual的字段控制关注和关注的显示

当$_G[uid]==$_GET[uid]时,mutual=0可以在自己进入自己的空间时全部显示在监视列表中

当自己进入别人的空间查看关注列表时,如果自己关注的用户需要显示关注,否则显示关注即可,此处的判断条件为$_G[uid]! 在=$_GET[uid]的情况下,mutual==-1或者mutual==1可以。 为什么这里有mutual=-1的标记? 数据库词典中没有这个标记,但实际上已经测试过了。 滴答滴答地看着源代码判断了。 要知道,这样判断就好了

监视列表上的所有链接都是home.php吗? mod=space cpac=follow op=del hash={ form hash } fuid=$ fuser [ & amp; #039; followuid& #039; ]mobile=2。 所有用户id都可以是followuid

粉丝列表很简单,直接使用-1和1进行判断就可以了

也就是说,值为0和1的“mutual”字段只能在自己的空间中查看关注者和关注者列表时使用。 如果您进入了其他用户的关注者或列表,则会生成mutual值为-1的字段

也就是说,当自己进入其他用户并且自己已经有关注的用户时,mutual的值为-1

实现代码

//粉丝模板

p class=& #039; follow_manage& #039;

! - { if $ fuser [ mutual ]=-1|| $ fuser [ mutual ]==1}--

aid=& #039; a_followmod_{$fuser[& #039; uid& #039; ]}& #039; href=& #039; home.PHP? mod=space cpac=follow op=del hash={ form hash } fuid=$ fuser [ & amp; #039; uid& #039; ]mobile=2& #039; class=& #039; flw_btn_fodialog& #039;

Iclass=& #039; iconfonticon-like_fillrq& #039; /I

font class=& #039; grey& #039; 已关注/font

/a

! -{else}----

aid=& #039; a_followmod_{$fuser[& #039; uid& #039; ]}& #039; href=& #039; home.PHP? mod=space cpac=follow op=add hash={ form hash } fuid=$ fuser [ & amp; #039; uid& #039; ]mobile=2& #039; class=& #039; flw_btn_fodialog& #039;

i class=& #039; iconfont icon-like& #039; /i

font class=& #039; grey& #039; 关注/font

/a

! -{/if}----

/p

//监视列表模板

p class=& #039; follow_manage& #039;

! --{if $_G[uid]!=$_GET[uid]}--

! - { if $ fuser [ mutual ]=-1|| $ fuser [ mutual ]==1}--

aid=& #039; a_followmod_{$fuser[& #039; followuid& #039; ]}& #039; href=& #039; home.PHP? mod=space cpac=follow op=del hash={ form hash } fuid=$ fuser [ & amp; #039; followuid& #039; ]mobile=2& #039; class=& #039; flw_btn_fodiding

Iclass=& #039; iconfonticon-like_fillrq& #039; /I

font class=& #039; grey& #039; 已关注/font

/a

! -{else}----

aid=& #039; a_followmod_{$fuser[& #039; followuid& #039; ]}& #039; href=& #039; home.PHP? mod=space cpac=follow op=add hash={ form hash } fuid=$ fuser [ & amp; #039; followuid& #039; ]mobile=2& #039; class=& #039; flw_btn_fodiding

i class=& #039; iconfont icon-like& #039; /i

font class=& #039; grey& #039; 关注/font

/a

! -{/if}----

! -{else}----

! - { if $ fuser [ mutual ]==0||$ fuser [ mutual ]==1}--

aid=& #039; a_followmod_{$fuser[& #039; followuid& #039; ]}& #039; href=& #039; home.PHP? mod=space cpac=follow op=del hash={ form hash } fuid=$ fuser [ & amp; #039; followuid& #039; ]mobile=2& #039; class=& #039; flw_btn_fodiding

Iclass=& #039; iconfonticon-like_fillrq& #039; /I

font class=& #039; grey& #039; 已关注/font

/a

! -{else}----

aid=& #039; a_followmod_{$fuser[& #039; followuid& #039; ]}& #039; href=& #039; home.PHP? mod=space cpac=follow op=add hash={ form hash } fuid=$ fuser [ & amp; #039; followuid& #039; ]mobile=2& #039; class=& #039; flw_btn_fodiding

i class=& #039; iconfont icon-like& #039; /i

font class=& #039; grey& #039; 关注/font

/a

! -{/if}----

! -{/if}----

/p

解释用户感兴趣的逻辑处理

当前用户a、用户b和用户c

用户a关注了用户c

然后,用户b进入用户a空间的监视列表能够看到用户c

此时,如果用户b已经关注了用户c,则此时关注的按钮已经被关注,此时mutual的值为-1。 (在这种情况下,自己访问其他人的关注列表并查看用户,如果自己已经关注了任何内容,则显示为已关注,mutual的值为-1) )。

此时,用户b回到自己的用户空间看监视列表,显示用户c的自己的列表,此时mutual的值为0。 但是,用户c也关注用户b时,mutual的值为1

所以,用户b查看自己空间的监视列表,用0和1判断mutual的值。 当用户b去看用户a的监视列表时,mutual用-1和1判断

说明画画迷的逻辑处理

活动用户a、用户b、用户c

当用户a关注用户c时,用户c的粉丝列表中存在用户a

此时,用户b访问用户c爱好者列表的只有用户a,此时用户a的跟随状态也为未跟随状态,mutual为0

如果用户a也关注用户b,则用户b在用户c的粉丝列表中看到用户a的状态也不关注,mutual的值为0

然而,当用户b关注用户a时,如果用户b在用户c的扇列表中查看用户a的状态,则指示他关注,且mutual的值为1,从而彼此关注

但是,在用户a关注用户b情况下

此时,用户b在用户c的粉丝列表中看到用户a不关注的状态,假设b关注了用户a后的状态,mutual的值为-1

因此,在风扇列表中,判断为仅在mutual值为-1或1的情况下为关注状态,剩下的为未关注状态

关于Discuz如何实现移动终端的二选一兴趣、粉丝页面和兴趣状态的处理,我们在这里进行了分享。 希望以上内容对大家有帮助,可以学到更多知识。 如果你觉得文章好,你可以分享它给更多的人看。

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3