Discuz如何开发关注功能(2)

简介: Discuz如何开发关注功能

接下来就是怎么进行请求呢!


根据下面箭头指向的四个$_GET值 我们能确定的请求地址为home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid={$space[uid]}&mobile=2


至于为什么能确定请求地址,后文在介绍,本文重点是关注功能


image.png


然后我们在模板里边写上以下代码,就是关注ta的那个样式


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

image.png


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


image.png


接下来我们根据关键字follow在数据库字典里边搜索,发现会有一个用户关注关系表


image.png


打开数据库查到pre_home_follow 这个表,就会发现有一条数据就是关注者跟被关注者。


image.png

在上文中我们实现了关注与取消关注,但是当我们关注了用户后,是不是需要显示已关注 或者 关注ta的字样


处理是否显示关注

我们打开数据库字典搜索pre_common_member_count 用户统计表。


在这个表里边我们发现有收听数量和听众数量。那么对应的就是关注数量和粉丝数量


image.png


然后打开文件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


image.png


关注之后显示以关注

image.png



总结

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


目录
打赏
0
0
0
0
14
分享
相关文章
快速用Discuz搭建论坛网站教程
Discuz! 是全球成熟度最高、覆盖率最大的论坛网站软件系统之一,被200多万网站用户使用,本文教你一步一步快速用阿里云免费的Discuz官方系统搭建论坛网站。
44040 0
为什么越来越多的人选择网站定制开发?
在后互联网时代,企业网站和定制开发的重要性愈发突出。模板选择虽有信任度和成熟度的优势,但难以满足个性化需求,且可能缺乏独特性。相比之下,定制开发能更好地契合企业业务和文化,提升用户体验,实现自动化处理,确保数据安全,并使成本透明化。因此,越来越多的企业倾向于选择定制开发,以增强竞争力。行动建议包括评估需求、选择合适外包公司、制定详细项目计划及注重后期维护。
2023最新常用开发网站汇总
2023最新常用开发网站汇总
152 0
开发一个好网站
开发一个好网站的注意事项
使Joomla网站移动友好的4个步骤
您想失去流量和客户吗?您的网站适合移动设备访问是吸引网站访问者的一种快速方法。
使Joomla网站移动友好的4个步骤
快速搭建phpwind论坛系统
phpwind 是采用 PHP + MySQL 方式运行的开源社区程序。轻架构,高效率简易开发,帮助您快速搭建并轻松管理社区站点。本文介绍如何使用云市场的 PHPWind论坛系统(含智慧云虚机面板) 快速搭建论坛。
15378 0
Joomla为高级用户提供的5个技巧
Joomla是一个很棒的CMS,它有很多特性,即使是普通用户也可能无法理解所有可用选项 我将分享Joomla高级用户喜欢利用的5个技巧: 全局签入在页面标题中显示站点名称在所有页面中启用HTTPS复制一个模块预览模块位置技巧1:全局签入为了解锁所有文章、类别、插件和模块的编辑,您可以进行全局签入 下图显示锁定内容出现: 下一张图片展示了如何检入站点上的所有项 转到系统>全局签入选择“数据库表”行中的所有项点击“Check-in”按钮 技巧2:在浏览器栏中显示站点名称您可以在浏览器中显示站点名称和主页标题。