Maison >Tutoriel CMS >Discuz >Deuxième lancement du terminal mobile Discuz : pages de suivi et de fans et traitement du statut de suivi
Les fonctions implémentées dans cet article :
Développer une page de followers mobile
Développer une page de fans mobile
Faites en sorte que la liste de surveillance que vous voyez depuis votre propre espace montre que vous l'avez suivie
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
Résoudre comment afficher 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
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
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
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.
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<.>
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.
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.
Réglez ensuite le navigateur en mode d'accès mobile
Ce qui précède explique comment charger la deuxième page de suivi et la page de fans en PHP
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
Ouvrez le dictionnaire de la base de données Discuz et vous pourrez voir si le focus utilise le champ mutuel 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 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 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 Ce qui précède est l'ensemble du processus de mise en œuvre. Ce morceau de code sera analysé. dans le prochain article pour réaliser le affichage et non-affichage de l'attention
Code d'implémentation
// 粉丝模板
<p class="follow_manage">
<!--{if $fuser[mutual] == -1 || $fuser[mutual] == 1}-->
<a id="a_followmod_{$fuser['uid']}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['uid']&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['uid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['uid']&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['followuid']}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&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['followuid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['followuid']&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['followuid']}" href="home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&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['followuid']}" href="home.php?mod=spacecp&ac=follow&op=add&hash={FORMHASH}&fuid=$fuser['followuid']&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
Faites un dessin pour expliquer le traitement logique des fans
Résumé
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!