Maison >Tutoriel CMS >Discuz >Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

咔咔
咔咔original
2020-05-11 01:23:143058parcourir

Les fonctions implémentées dans cet article :

  1. Développer une page de followers mobile

  2. Développer une page de fans mobile

  3. Faites en sorte que la liste de surveillance que vous voyez depuis votre propre espace montre que vous l'avez suivie

  4. Lorsque vous consultez les listes de surveillance d'autres personnes, les utilisateurs que vous suivez seront affichés comme suivis et les utilisateurs que vous ne suivez pas seront affichés Montrer l'attention

  5. Résoudre comment afficher la page mobile dans le fichier PHP


Préparation préliminaire : Résoudre le problème d'affichage de la page mobile dans le fichier PHP

Dans Discuz, la page mobile n'a pas de fans et de followers, donc. nous devons le développer. Voici le processus de développement.

La version PC de discuz dispose de fonctions d'écoute et d'audience. Comme indiqué ci-dessous, l'adresse home.php?mod=follow&do=follower est la page de fan PC correspondante

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi


Ensuite, nous pouvons retracer le Fichier PHP source/module/home/home_follow.php Ce fichier. Dans ce fichier, il suffit de noter les noms follow et follow. L'un d'eux signifie attention, l'autre signifie fans

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Ensuite on passe au modèle selon le mécanisme d'accès de discuz Recherchez le fichier follow_follower.html. Mais dans le modèle, nous avons constaté que les seuls fichiers commençant par follow sont ceux-ci

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Continuer vers le fichier source/module/ Home/home_follow.php puis faites défiler jusqu'à la fin pour voir le modèle chargé. Ici, vous pouvez voir que le modèle chargé est le fichier follow_feed.html vu ci-dessus.

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi Ensuite, nous arrivons au fichier template/default/home/follow_feed.htm Vous pouvez voir deux modules familiers et un follower autour de la ligne 554. et suivant<.>

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Maintenant que vous avez deviné qu'il est ici, écrivons un code de test pour le tester.

Après tests, nous sommes convaincus que cette page est la page de suivi et la page de fans chargées.

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Le test ci-dessus trouvera l'adresse demandée Celui-ci est /home.php?mod=follow&do=follower, mais le fichier html chargé est template/default/home/follow_feed.htm. C'est-à-dire que si vous devez charger un fichier incohérent avec l'adresse demandée dans dsicuz, vous devez utiliser la fonction modèle pour le charger.


Ensuite, écrivons nous-mêmes un fichier follow_follower mobile.

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Réglez ensuite le navigateur en mode d'accès mobile Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi


Ce qui précède explique comment charger la deuxième page de suivi et la page de fans en PHP

Développer des pages de fans et des pages de suivi et mettre en œuvre l'accès aux données

Nous pouvons également écrire comme ceci dans le modèle lorsqu'il est déterminé que faire est un. follower, entrez le modèle de fan. Entrez le modèle de suivi lorsque vous suivez 🎜>

Une fois la page écrite, nous devons implémenter l'amarrage des données. Revenez au fichier template/default/home/follow_feed.htm. Vous pouvez voir que les données utilisées sont une liste, et la variable fuser est utilisée dans la boucle

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

pour réaliser le affichage et non-affichage de l'attention

Ouvrez le dictionnaire de la base de données Discuz et vous pourrez voir si le focus utilise le champ mutuelDeuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

Contrôler le focus et le focus en fonction du champ mutuel Afficher ou non ceux que vous avez suivis

  • Lorsque vous entrez dans votre propre espace, tous ceux que vous avez suivis seront affichés dans ce qui suit list La condition de jugement est lorsque $_G[uid] == $_GET[uid] When mutual>=0,

  • Lorsque vous entrez dans l'espace de quelqu'un d'autre pour afficher la liste de suivi, si l'utilisateur que vous suivez doit être affiché comme suivi, sinon il sera affiché comme suivi. La condition de jugement ici est $_G [uid] != $_GET[uid], mutual==-1 ou mutual==1 peut être. utilisé. Pourquoi y a-t-il un indicateur mutual=-1 ici ? Le dictionnaire de la base de données n'a pas ce logo, mais on le trouve dans les tests réels. Kaka a également examiné le code source et a porté un jugement en premier

  • dans la montre. list Toutes les adresses de liens sont home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2. Tous les identifiants d'utilisateur sont suivis

  • La liste des fans est très simple, utilisez simplement -1 et 1 pour juger

  • C'est-à-dire si la valeur de le champ mutuel est 0 et 1, il ne peut être utilisé que lors de la visualisation des listes suivantes et des listes de fans dans votre propre espace. Si vous entrez dans les listes de fans et d'attention d'autres utilisateurs, un champ avec une valeur mutuelle de -1 sera généré

  • C'est-à-dire que lorsque vous entrez d'autres utilisateurs, il y aura des utilisateurs que vous ont suivi La valeur de mutuelle est -1

Code d'implémentation

// 粉丝模板
<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>

Dessinez une image pour expliquer le traitement logique qui préoccupe l'utilisateur

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

  • Maintenant, l'utilisateur A, l'utilisateur B, l'utilisateur C

  • L'utilisateur A suit l'utilisateur C

  • Puis l'utilisateur Lorsque B entre dans la liste de suivi de l'espace de l'utilisateur A, il peut voir celui de l'utilisateur C

  • Si l'utilisateur B a déjà suivi l'utilisateur C à ce moment, alors le Le bouton de suivi à ce moment-là est "Suivé". À ce moment-là, la valeur de mutuelle est -1 (dans ce cas, vous accédez à la liste de suivi d'autres personnes pour voir l'utilisateur. S'il y a quelqu'un que vous avez suivi, ce sera affiché comme suivi, et la valeur de mutual est -1)

  • A ce moment, lorsque l'utilisateur B reviendra dans son espace utilisateur pour consulter la liste suivante, il montrera que l'utilisateur C est dans sa liste, mais à ce moment la valeur de mutual est 0. Mais lorsque l'utilisateur C suit également l'utilisateur B, la valeur de mutual C'est 1

  • , donc quand l'utilisateur B vérifie le liste de surveillance de son propre espace, il utilise la valeur mutuelle de 0 et 1 pour juger. Lorsque l'utilisateur B consulte la liste de surveillance de l'utilisateur A, utilisez les valeurs mutuelles de -1 et 1 pour juger

Faites un dessin pour expliquer le traitement logique des fans

Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi

  • Utilisateur actuel A, utilisateur B, utilisateur C

  • Lorsque l'utilisateur A suit l'utilisateur C, la liste des fans de l'utilisateur C inclut l'utilisateur A

  • À l'heure actuelle, la seule liste de fans à laquelle l'utilisateur B accède est l'utilisateur A. À l'heure actuelle, le statut de suivi de l'utilisateur A n'est pas non plus suivi et la valeur mutuelle est 0

  • Si l'utilisateur A suit également l'utilisateur B, l'utilisateur B vérifie le statut de l'utilisateur A dans la liste des fans de l'utilisateur C et il n'est pas non plus suivi, et la valeur mutuelle est 0

  • Mais lorsque l'utilisateur B suit l'utilisateur A, l'utilisateur B vérifie le statut de l'utilisateur A dans la liste des fans de l'utilisateur C et cela montre qu'il a suivi l'utilisateur A, et la valeur mutuelle est 1, ce qui signifie qu'ils se suivent

  • Mais lorsque l'utilisateur A ne suit pas l'utilisateur B

  • , l'utilisateur B voit le statut de l'utilisateur A dans la liste des fans de l'utilisateur C comme non suivi. Lorsque B suit l'utilisateur A, le le statut est déjà suivi, la valeur de la mutuelle est -1

  • , donc dans la liste des fans, on juge que ce n'est que lorsque la valeur de la mutuelle est -1 ou 1 qu'elle est dans l'état suivant, et le reste est dans l'état non suivi

Résumé

Ce qui précède est l'ensemble du processus de mise en œuvre. Ce morceau de code sera analysé. dans le prochain article

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn