Heim  >  Artikel  >  CMS-Tutorial  >  Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

咔咔
咔咔Original
2020-05-11 01:23:142774Durchsuche

Die in diesem Artikel implementierten Funktionen:

  1. Entwicklung einer mobilen Followerseite

  2. Entwicklung einer mobilen Fanseite

  3. Stellen Sie sicher, dass die Beobachtungsliste, die Sie in Ihrem eigenen Bereich sehen, anzeigt, dass Sie ihr gefolgt sind

  4. Wenn Sie die Beobachtungslisten anderer Personen sehen, werden die Benutzer Sie „Folgen“ wird wie folgt angezeigt und die Benutzer, denen Sie nicht folgen, werden angezeigt. Zeigen Sie Aufmerksamkeit

  5. Lösen Sie, wie eine mobile Seite in einer PHP-Datei angezeigt wird


Vorbereitende Vorbereitung: Lösen Sie das Problem der Anzeige der mobilen Seite in der PHP-Datei

In discuz hat die mobile Seite keine Fans und Follower, also haben wir muss es weiterentwickeln. Das Folgende ist der Entwicklungsprozess.

Die PC-Version von discuz verfügt über Zuhör- und Zuhörerfunktionen. Wie unten gezeigt, ist die Adresse home.php?mod=follow&do=follower die entsprechende PC-Fanseite

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung


Dann können wir die verfolgen PHP-Datei source/module/home/home_follow.php Diese Datei. In dieser Datei müssen wir nur die folgenden und folgenden Namen beachten. Eines davon bedeutet Aufmerksamkeit, das andere bedeutet Fans

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Dann gehen wir gemäß dem Zugriffsmechanismus von discuz zur Vorlage Suchen Sie die Datei follow_follower.html. Aber in der Vorlage haben wir festgestellt, dass die einzigen Dateien, die mit folgen beginnen, diese sind:

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Weiter zur Dateiquelle/Modul/ Home/home_follow.php und scrollen Sie dann bis zum Ende, um die geladene Vorlage anzuzeigen. Hier sehen Sie, dass es sich bei der geladenen Vorlage um die oben gezeigte Datei follow_feed.html handelt.

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung Dann kommen wir zur Datei template/default/home/follow_feed.htm. Ab Zeile 554 sehen Sie zwei bekannte Module und einen Follower.

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Da Sie nun erraten haben, dass es hier ist, schreiben wir einen Testcode, um es zu testen.

Nach dem Test sind wir überzeugt, dass es sich bei dieser Seite um die geladene Folgeseite und Fanseite handelt.

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Der obige Test findet die Adressanfrage Die eine ist /home.php?mod=follow&do=follower, aber die geladene HTML-Datei ist template/default/home/follow_feed.htm. Das heißt, wenn Sie eine Datei laden müssen, die nicht mit der angeforderten Adresse in dsicuz übereinstimmt, müssen Sie zum Laden die Vorlagenfunktion verwenden.


Dann schreiben wir selbst eine mobile follow_follower-Datei.

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-StatusverarbeitungAnschließend stellen Sie den Browser auf den mobilen Zugriffsmodus ein

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung


Oben erfahren Sie, wie Sie die zweite Folgeseite und Fanseite in PHP laden

Fanpages und Follow-Seiten entwickeln und Datenzugriff implementieren

Wir können auch so in die Vorlage schreiben, wenn das so ist Follower, geben Sie die Fan-Vorlage ein, wenn Sie folgen 🎜>Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Nachdem die Seite geschrieben wurde, müssen wir das Datenandocken implementieren. Fahren Sie zurück zur Datei template/default/home/follow_feed.htm. Sie können sehen, dass es sich bei den verwendeten Daten um eine Liste handelt und die Fuser-Variable in der Schleife

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

verwendet wird, um Aufmerksamkeit zu erregen Anzeige und Nichtanzeige

Öffnen Sie das Discuz-Datenbankwörterbuch und Sie können sehen, ob der Fokus das gegenseitige Feld verwendetZweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

Steuern Sie die Fokus und Fokus basierend auf dem gegenseitigen Feld Anzeigen oder Nichtanzeige derjenigen, denen Sie gefolgt sind

  • Wenn Sie Ihren eigenen Bereich betreten, werden alle Personen, denen Sie gefolgt sind, in der folgenden Liste angezeigt. Die Beurteilungsbedingung ist, wenn $_G[uid] == $_GET[uid] Wenn mutual>=0,

  • Wenn Sie den Bereich einer anderen Person betreten, um die Folgeliste anzuzeigen, wenn der Benutzer Sie müssen wie folgt angezeigt werden, andernfalls wird die Beurteilungsbedingung hier wie folgt angezeigt: $_G [uid] != $_GET[uid], es kann „mutual==-1“ oder „mutual==1“ verwendet werden. Warum gibt es hier das Flag „mutual=-1“? Das Datenbankwörterbuch hat dieses Logo nicht, aber es wurde in tatsächlichen Tests gefunden. Kaka hat sich auch den Quellcode angesehen und zuerst ein Urteil gefällt

  • list Alle Linkadressen sind home.php?mod=spacecp&ac=follow&op=del&hash={FORMHASH}&fuid=$fuser['followuid']&mobile=2. Alle Benutzer-IDs sind folgenuid

  • Die Fanliste ist sehr einfach, verwenden Sie einfach -1 und 1, um zu beurteilen

  • Das ist, wenn der Wert von Das gemeinsame Feld ist 0 und 1, es kann nur verwendet werden, wenn Sie die folgenden und Fan-Listen in Ihrem eigenen Bereich anzeigen. Wenn Sie die Fans- und Aufmerksamkeitslisten anderer Benutzer eingeben, wird ein Feld mit einem gegenseitigen Wert von -1 generiert

  • Das heißt, wenn Sie andere Benutzer eingeben, werden Sie Benutzer sein habe befolgt Der Wert von gegenseitig ist -1

Implementierungscode

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

Zeichnen Sie ein Bild, um die logische Verarbeitung zu erklären, die dem Benutzer Sorgen bereitet

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

  • Jetzt Benutzer A, Benutzer B, Benutzer C

  • Benutzer A folgt Benutzer C

  • Dann betritt Benutzer B die Folgeliste des Bereichs von Benutzer A und kann Benutzer C sehen.

  • Wenn Benutzer B zu diesem Zeitpunkt bereits Benutzer C gefolgt ist, dann die Schaltfläche „Folgen“. Zu diesem Zeitpunkt ist „Gefolgt“. Zu diesem Zeitpunkt beträgt der Wert von „mutual“ -1 (in diesem Fall gehen Sie zur Follow-Liste anderer Personen, um den Benutzer anzuzeigen. Wenn es jemanden gibt, dem Sie gefolgt sind, wird dies als angezeigt gefolgt, und der Wert von gegenseitig ist -1)

  • Wenn Benutzer B zu diesem Zeitpunkt zu seinem Benutzerbereich zurückkehrt, um die folgende Liste anzuzeigen, zeigt er an, dass sich Benutzer C in seinem befindet Liste, aber zu diesem Zeitpunkt ist der Wert von Mutual 0. Wenn Benutzer C jedoch auch Benutzer B folgt, ist der Wert von Mutual Es ist 1

  • , also wenn Benutzer B die Beobachtungsliste überprüft Für die Beurteilung seines eigenen Raums verwendet er den gegenseitigen Wert von 0 und 1. Wenn Benutzer B die Beobachtungsliste von Benutzer A anzeigt, verwenden Sie die gegenseitigen Werte -1 und 1, um zu beurteilen

Zeichnen Sie ein Bild, um die logische Verarbeitung von Fans zu erklären

Zweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung

  • Aktueller Benutzer A, Benutzer B, Benutzer C

  • Wenn Benutzer A Benutzer C folgt, wird Benutzer C in die Fanliste von Benutzer C aufgenommen A

  • Zu diesem Zeitpunkt ist Benutzer A die einzige Fanliste, auf die Benutzer B zugreift. Zu diesem Zeitpunkt ist der Folgestatus von Benutzer A ebenfalls nicht verfolgt und der gegenseitige Wert ist 0

  • Wenn Benutzer A auch Benutzer B folgt, überprüft Benutzer B den Status von Benutzer A in der Fanliste von Benutzer C und er wird ebenfalls nicht mehr verfolgt, und der gemeinsame Wert ist 0

  • Aber wenn Benutzer B Benutzer A folgt, überprüft Benutzer B den Status von Benutzer A in der Fanliste von Benutzer C und zeigt an, dass er Benutzer A gefolgt ist, und der gegenseitige Wert ist 1, was bedeutet, dass sie einander folgen

  • Aber wenn Benutzer A Benutzer B nicht folgt

  • dann sieht Benutzer B den Status von Benutzer A in der Fanliste von Benutzer C als nicht gefolgt. Wenn B Benutzer A folgt, wird der Der Status lautet „Bereits verfolgt“, der Wert von „mutual“ ist -1

  • , daher wird in der Fanliste beurteilt, dass er nur dann vorhanden ist, wenn der Wert von „mutual“ -1 oder 1 ist Der folgende Status und der Rest befinden sich im nicht verfolgten Status

Zusammenfassung

Das Obige ist der gesamte Implementierungsprozess. Dieser Code wird analysiert im nächsten Artikel

Das obige ist der detaillierte Inhalt vonZweiter Start des Discuz-Mobilterminals: Follow- und Fanseiten sowie Follow-Statusverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn