Jadual Kandungan
前期准备:解决PHP文件里边显示移动端页面
开发粉丝页面和关注页面并实现数据接入
" >开发粉丝页面和关注页面并实现数据接入
实现关注显示与不显示
" >实现关注显示与不显示
实现代码
画图解释粉丝的逻辑处理
Rumah Tutorial CMS Discuz Discuz移动端二开之关注和粉丝页面以及关注状态处理

Discuz移动端二开之关注和粉丝页面以及关注状态处理

May 11, 2020 am 01:23 AM
discuz

本文实现功能:

  1. 开发移动端关注页面

  2. 开发移动端粉丝页面

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

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

  5. 解决如何在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

实现代码

// 粉丝模板
<p class="follow_manage">
   <!--{if $fuser[mutual] == -1 || $fuser[mutual] == 1}-->
   <a id="a_followmod_{$fuser[&#39;uid&#39;]}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser[&#39;uid&#39;]&mobile=2" class="flw_btn_fo dialog">
      <i class="iconfont  icon-like_fill rq"></i>
      <font class="grey">已关注</font>
   </a>
   <!--{else}-->
   <a id="a_followmod_{$fuser[&#39;uid&#39;]}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser[&#39;uid&#39;]&mobile=2" class="flw_btn_fo dialog">
      <i class="iconfont icon-like"></i>
      <font class="grey">关注</font>
   </a>
   <!--{/if}-->
</p>

// 关注列表模板
<p class="follow_manage">
   <!--{if $_G[uid] != $_GET[uid]}-->
      <!--{if $fuser[mutual] == -1 || $fuser[mutual] == 1}-->
      <a id="a_followmod_{$fuser[&#39;followuid&#39;]}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser[&#39;followuid&#39;]&mobile=2" class="flw_btn_fo dialog">
         <i class="iconfont  icon-like_fill rq"></i>
         <font class="grey">已关注</font>
      </a>
      <!--{else}-->
      <a id="a_followmod_{$fuser[&#39;followuid&#39;]}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser[&#39;followuid&#39;]&mobile=2" class="flw_btn_fo dialog">
         <i class="iconfont icon-like"></i>
         <font class="grey">关注</font>
      </a>
      <!--{/if}-->
   <!--{else}-->
      <!--{if $fuser[mutual] == 0 || $fuser[mutual] == 1}-->
      <a id="a_followmod_{$fuser[&#39;followuid&#39;]}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser[&#39;followuid&#39;]&mobile=2" class="flw_btn_fo dialog">
         <i class="iconfont  icon-like_fill rq"></i>
         <font class="grey">已关注</font>
      </a>
      <!--{else}-->
      <a id="a_followmod_{$fuser[&#39;followuid&#39;]}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser[&#39;followuid&#39;]&mobile=2" class="flw_btn_fo dialog">
         <i class="iconfont icon-like"></i>
         <font class="grey">关注</font>
      </a>
      <!--{/if}-->
   <!--{/if}-->

</p>
Salin selepas log masuk

画图解释用户关注的逻辑处理

image.png

  • 现在用户A,用户B,用户C

  • 用户A关注了用户C

  • 然后用户B进入到用户A空间的关注列表是可以看到用户C的

  • 假如这个时候用户B已经关注了用户C,那么这个时候关注的按钮就是已关注,这个时候mutual的值就是-1(这种情况就是自己到别人的关注列表查看用户,如果有自己已经关注过的就会显示已关注,并且mutual的值为-1)

  • 这个时候用户B在回到自己的用户空间查看关注列表就会显示用户C在自己的列表,但是这个时候mutual的值为0.  但是当用户C也关注了用户B时mutual的值就是1

  • 所以说用户当用户B在自己空间的关注列表查看使用mutual的值为0和1判断。当用户B去查看用户A的关注列表时使用mutual为-1和1来判断

画图解释粉丝的逻辑处理

image.png

  • 现用用户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时是关注状态,其余都是未关注状态

总结

以上就是实现的所有过程,在下一篇文章会针对这块的代码进行分析

Atas ialah kandungan terperinci Discuz移动端二开之关注和粉丝页面以及关注状态处理. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Discuz penyelesaian masalah log masuk latar belakang didedahkan Discuz penyelesaian masalah log masuk latar belakang didedahkan Mar 03, 2024 am 08:57 AM

Penyelesaian masalah log masuk latar belakang Discuz didedahkan. ramai webmaster. Walau bagaimanapun, dengan tepat kerana fungsinya yang berkuasa, kadangkala kami menghadapi beberapa masalah semasa menggunakan Discuz, seperti masalah log masuk latar belakang. Hari ini, kami akan mendedahkan penyelesaian kepada masalah log masuk latar belakang Discuz dan memberikan contoh kod khusus, dengan harapan dapat membantu mereka yang memerlukan

Apa itu Discuz? Definisi dan pengenalan fungsi Discuz Apa itu Discuz? Definisi dan pengenalan fungsi Discuz Mar 03, 2024 am 10:33 AM

"Meneroka Discuz: Definisi, Fungsi dan Contoh Kod" Dengan perkembangan pesat Internet, forum komuniti telah menjadi platform penting untuk orang ramai mendapatkan maklumat dan bertukar pendapat. Di antara banyak sistem forum komuniti, Discuz, sebagai perisian forum sumber terbuka yang terkenal di China, digemari oleh majoriti pembangun dan pentadbir laman web. Jadi, apa itu Discuz? Apakah fungsi yang ada padanya, dan bagaimana ia boleh membantu tapak web kami? Artikel ini akan memperkenalkan Discuz secara terperinci dan melampirkan contoh kod khusus untuk membantu pembaca mengetahui lebih lanjut mengenainya.

Wajib ada untuk pengguna Discuz! Analisis komprehensif untuk menamakan semula prop! Wajib ada untuk pengguna Discuz! Analisis komprehensif untuk menamakan semula prop! Mar 12, 2024 pm 10:15 PM

Wajib ada untuk pengguna Discuz! Analisis komprehensif untuk menamakan semula prop! Dalam forum Discuz, fungsi pertukaran nama sentiasa mendapat perhatian dan permintaan daripada pengguna. Bagi sesetengah pengguna yang perlu menukar nama mereka, prop menukar nama boleh mengubah suai nama pengguna dengan mudah, dan ia juga merupakan cara interaksi yang menarik. Mari kita lihat secara mendalam tentang penamaan semula prop dalam Discuz, termasuk cara mendapatkannya, cara menggunakannya dan penyelesaian kepada beberapa masalah biasa. 1. Dapatkan prop menukar nama dalam Discuz prop menukar nama biasanya dibeli melalui mata atau pentadbir

Apakah yang perlu saya lakukan jika saya menemui kata laluan Discuz yang salah? Perkongsian penyelesaian pantas! Apakah yang perlu saya lakukan jika saya menemui kata laluan Discuz yang salah? Perkongsian penyelesaian pantas! Mar 03, 2024 am 09:33 AM

Apakah yang perlu saya lakukan jika saya menemui kata laluan Discuz yang salah? Perkongsian penyelesaian pantas! Discuz! Ia adalah program forum yang sangat popular yang menyediakan pengguna dengan platform untuk komunikasi yang mudah. Menggunakan Discuz! Apabila mengakses forum, kadangkala anda mungkin menghadapi kata laluan yang salah, yang boleh menyebabkan pengguna tidak dapat log masuk dan menggunakan forum seperti biasa. Nah, jumpa Discuz! Apabila kata laluan salah, bagaimana kita harus menyelesaikan masalah dengan cepat? Beberapa penyelesaian akan dikongsi di bawah, dengan contoh kod khusus disediakan untuk rujukan. 1. Semak sama ada kata laluan

Discuz log masuk latar belakang gagal? Ajar anda cara menyelesaikannya dengan mudah! Discuz log masuk latar belakang gagal? Ajar anda cara menyelesaikannya dengan mudah! Mar 02, 2024 pm 06:03 PM

Discuz log masuk latar belakang gagal? Ajar anda cara menyelesaikannya dengan mudah! Memandangkan Discuz, sebagai platform forum popular, digunakan secara meluas dalam pembinaan dan pengurusan laman web, kadangkala anda akan menghadapi kegagalan log masuk bahagian belakang, yang merisaukan. Hari ini kita akan membincangkan isu yang mungkin menyebabkan kegagalan log masuk bahagian belakang Discuz, menyediakan beberapa penyelesaian dan melampirkan contoh kod tertentu. Saya harap artikel ini dapat membantu juruweb dan pembangun yang menghadapi masalah yang sama. 1. Penyelesaian masalah adalah untuk menyelesaikan masalah kegagalan log masuk latar belakang Discuz.

Penjelasan terperinci tentang proses pendaftaran Discuz: membolehkan anda mengubah suai maklumat peribadi dengan mudah Penjelasan terperinci tentang proses pendaftaran Discuz: membolehkan anda mengubah suai maklumat peribadi dengan mudah Mar 13, 2024 pm 12:21 PM

"Penjelasan Terperinci Proses Pendaftaran Discuz: Membolehkan anda mengubah suai maklumat peribadi dengan mudah, contoh kod khusus diperlukan" Discuz ialah program forum komuniti yang kuat yang digunakan secara meluas dalam pelbagai laman web Ia menyediakan banyak fungsi pendaftaran pengguna dan pengubahsuaian dan antara muka. Artikel ini akan memperkenalkan anda kepada proses pendaftaran Discuz secara terperinci dan memberikan contoh kod khusus untuk membantu anda menyesuaikan dan mengubah suai maklumat peribadi anda dengan mudah. 1. Proses pendaftaran pengguna Di Discuz, pendaftaran pengguna adalah salah satu fungsi penting laman web ini

Penjelasan terperinci tentang langkah-langkah untuk mengubah suai nama domain Discuz Penjelasan terperinci tentang langkah-langkah untuk mengubah suai nama domain Discuz Mar 11, 2024 am 11:00 AM

Penjelasan terperinci tentang langkah-langkah untuk mengubah suai nama domain Discuz pengoptimuman, atau sebab lain. Tidak kira apa sebabnya, mengubah suai nama domain Discuz adalah proses yang memerlukan operasi yang teliti Hari ini kami akan memperkenalkan langkah-langkah mengubah suai nama domain Discuz secara terperinci dan memberikan contoh kod tertentu. Langkah 1: Sandarkan data Sebelum mengubah suai nama domain, anda mesti memastikan laman web tersebut

Selesaikan masalah bahawa perkongsian Discuz WeChat tidak dapat dipaparkan Selesaikan masalah bahawa perkongsian Discuz WeChat tidak dapat dipaparkan Mar 09, 2024 pm 03:39 PM

Tajuk: Untuk menyelesaikan masalah yang dikongsi oleh Discuz WeChat tidak dapat dipaparkan, contoh kod khusus diperlukan Dengan pembangunan Internet mudah alih, WeChat telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian orang ramai. Dalam pembangunan tapak web, untuk meningkatkan pengalaman pengguna dan mengembangkan pendedahan laman web, banyak tapak web akan menyepadukan fungsi perkongsian WeChat, membolehkan pengguna berkongsi kandungan tapak web dengan mudah ke kumpulan Moments atau WeChat. Walau bagaimanapun, kadangkala apabila menggunakan sistem forum sumber terbuka seperti Discuz, anda akan menghadapi masalah yang dikongsi WeChat tidak dapat dipaparkan, yang membawa kesukaran tertentu kepada pengalaman pengguna.

See all articles