Heim  >  Artikel  >  CMS-Tutorial  >  Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an

Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an

咔咔
咔咔Original
2020-04-30 15:23:042172Durchsuche

Der Hauptinhalt dieses Artikels:

Lösung für das Problem, dass sich die Discuz-Themenansichten nicht oder nicht zusammen mit der Anzahl der Antwortbeiträge ändern

Wenn Sie ein Für unerfahrene Discuz-Entwickler können Sie den Artikel von Anfang an lesen

Wenn Sie ein Webmaster sind, lesen Sie einfach die Zusammenfassung am Ende des Artikels

Weitere Artikel finden Sie in der Spalte: Discuz-Spalte

Fragen

diese Seite zur Themenseite wiederherstellen

Das rote Feld oben zeigt die Themenseitenaufrufe mit $_G[ forum_thread][views]

Alle Antworten unten verwenden $_G[forum_thread][replies]

für die Anzahl der Antworten Die Aufrufe erhöhen sich nicht, wenn wir die Seite aktualisieren, aber wenn das Thema auf einen Beitrag antwortet, erhöht sich die Anzahl der Aufrufe nicht.

Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an

Dann testen wir es und fügen Sie eine neue Antwort hinzu, und wir werden feststellen, dass dies tatsächlich der Fall ist! Aber das Problem ist nicht so einfach, bitte lesen Sie weiter unten

Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an

Schritte zur Fehlerbehebung

  • Schritt 1: Wir müssen das bestätigen Anzahl der Aufrufe und Antworten Entspricht das Volumen diesen beiden Feldern?

  • Der zweite Schritt: Wir müssen das Prinzip der Zunahme der Seitenaufrufe verfolgen

Dann überprüfen wir den ersten Schritt. Frage: Öffnen Sie das Datenbankwörterbuch, um die Tabelle pre_forum_thread anzuzeigen. Dann sind wir sicher, dass die Variablen, die wir im Quellcode verwenden, korrekt sind

Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an

Traceability-Implementierung Das Prinzip von

liegt in der Zeile 986 des Codes. Wir haben unser erstes Problem gelöst, weshalb die Daten der Seitenaufrufe und die Antworten sind die gleichen. Dies liegt daran, dass hier ein Urteil gefällt wurde. Wenn die Anzahl der Antwortbeiträge größer ist als die Anzahl der Themenaufrufe, entspricht die Anzahl der Aufrufe der Anzahl der Antworten

Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an

Suchen Sie dann weiter nach dem Code für Aktualisieren Sie die Themenansichten: bei 1054 gibt es die Methode viewthread_updateviews. Aufgrund der wörtlichen Bedeutung können wir alle verstehen, was diese Methode bewirkt, und das Thema aktualisiert die Anzahl der Ansichten .

Die Schritte zum Ausführen dieses Codes

  • Überprüfen Sie zunächst, ob die Optimierungsfunktion für die Ansicht von Optimierungsthemen im Hintergrund aktiviert ist

  • Bestimmen Sie dann den Wert von

    addviews in der globalen Variablen

  • Wenn der Wert kleiner als 100 ist, werden die Daten auf pre_forum_threadaddviews

    Diese Tabelle

  • Wenn der Wert von
  • addviews

    größer als 100 ist, werden die Ansichten dieses Themas gelöscht und anschließend die Daten gespeichert werden in pre_forum_thread Das Ansichtsfeld der Thementabelle

  • Dies ist der grundlegende Implementierungsprozess
  • Oben Wir haben festgestellt, dass die Ansichten nicht direkt in der Thementabelle gespeichert werden. Der Vorteil besteht darin, häufige Aktualisierungen der Thementabelle zu verhindern und zu verhindern, dass die Tabelle gesperrt wird

Discuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung anZusammenfassung

Hier verstehe ich alles, was ich verstehen muss. Der Grund, warum die Anzahl der Themenaufrufe nicht zunimmt, wird tatsächlich durch den Hintergrund gesteuert, denn Sie können das preventrefresh

Wert in der ersten Zeile des obigen Codes, um zu steuern, ob er aktiviert ist oder nicht

Um die Anzahl der Themenansichten zu optimieren, konfigurieren Sie ihn einfach entsprechend Kaka.

Aber als Entwickler muss die Implementierung eines Funktionspunktes auf den Quellcode zurückgeführt werden. Nur so können wir uns kontinuierlich verbessern.

Das obige ist der detaillierte Inhalt vonDiscuz-Theme zeigt Implementierungsprinzip und Lösung für die Nichtaktualisierung an. 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