Heim > CMS-Tutorial > Discuz > Hauptteil

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

咔咔
Freigeben: 2020-05-04 11:34:01
Original
2466 Leute haben es durchsucht

Die in diesem Artikel implementierten Funktionen:

Steuern Sie, ob das Popup-Feld angezeigt wird oder nicht

Funktionsnutzungsszenarien

In einem früheren Artikel schrieb discuz implementiert die automatische Registrierung und Anmeldung. Aber wir wollen nicht, dass diese prompte Botschaft herauskommt.

Ich habe eine grobe Suche im Internet durchgeführt und einige sagten, dass es im Hintergrund eingestellt werden kann, aber nachdem ich einen Blick auf die Rückseite geworfen hatte, stellte ich fest, dass die Einstellung nur für bestimmte feste Szenen gilt.

Dann können wir eine für unser Projekt geeignete Anzeigemethode schreiben

Analyse der Popup-Box-Implementierung

Jeder, der discuz schon länger verwendet weiß, dass das Popup-Fenster an der Rezeption tatsächlich durch die Hintergrundmethode showmessage bestimmt wird.

Wir haben Code verwendet, um diese Methode in der Datei upload/source/function/function_core.php zu verfolgen, die sich auf Zeile 1424 bezieht

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Dann haben wir diese Methode in dshowmessage

Die endgültige Datei dieser Methode befindet sich

hier upload/source/function/function_message.php

Dann ziehen wir den Code bis zum Ende und Sie können eine

Variable und eine geladene Vorlagenadresse sehen show_messge

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Zu diesem Zeitpunkt finden wir den Speicherort dieser Vorlage:

upload/template/default/touch/common/showmessage.htm

In dieser Vorlage können wir eine Variable als

sehen. show_message

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Um zu bestätigen, dass die show_message in der Vorlage und die show_message in der PHP-Datei konsistent sind, führen wir einen Test durch

Änderung:

238 Zeile upload/source/function/function_message.php  

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

und dann auf der Seite testen. Das Ergebnis ist kein Problem. Die beiden Variablen sind konsistent

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Implementieren Sie Ihre eigene Anzeigemethode

Nach dem obigen Test haben wir erfahren, dass die Datei upload/source/function/function_message.php Die show_message in Zeile 238 stimmt mit der show_message der Vorlage upload/template/default/touch/common/showmessage.htm überein.

Dann können wir eine Variable deklarieren. Wenn Sie Ihren eigenen Stil anzeigen möchten, deklarieren Sie eine Variable und steuern Sie sie dann in der Vorlage.

Das Folgende ist ein KaKa-Fall: solange Sie haben Bei diesem Bedarf kann die Lösung von KaKa Ka Ihr Problem zu 100 % lösen

Mit diesem Code wird festgestellt, ob der Benutzer registriert ist, und wenn ja, melden Sie sich direkt an. (Kein Grund zur Sorge, Kakas Fall stammt aus dem ursprünglichen System.)

Sie können sehen, dass ich in showmessage eine neue Variable namens is_login hinzugefügt habe und der Wert 1 ist


Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Da wir diesen Wert in der Vorlage verwenden müssen, folgen wir diesem Beispiel und deklarieren is_login als globale Variable in der Datei upload/source/function/function_message.php

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Mit diesem Wert können Sie ihn dann in der Vorlage „upload/template/default/touch/common/showmessage.htm“ verwenden

Fügen Sie sich selbst in diesem Fall hinzu, wenn es ausreicht


Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Es gibt auch eine besonders einfache Möglichkeit, den Eintrag in Zeile 239 der Vorlage upload/source/function/function_message.php

Wie discuz die Anzeige von Bulletboxen unabhängig steuert
Was muss also zu diesem Zeitpunkt getan werden? Erstellen Sie einfach diese Vorlage

Kopieren Sie die showmassge-Datei in das Verzeichnis upload/template/default/touch/common

Wie discuz die Anzeige von Bulletboxen unabhängig steuert Ändern Sie dann diese Datei und lassen Sie sie einfach direkt springen nach dem Betreten.

Wie discuz die Anzeige von Bulletboxen unabhängig steuertErzielen Sie den Effekt

Das Popup-Fenster ist beim Anmelden verschwunden


Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Es gibt noch Dinge, die man an anderen Orten finden sollte

Wie discuz die Anzeige von Bulletboxen unabhängig steuert

Zusammenfassung

Nach der Zusammenfassung Dieser Artikel Nachdem alle Dateien geändert wurden! Wenn Sie Ihre eigene benutzerdefinierte Vorlage verwenden möchten, können Sie diese direkt verwenden

is_login ist eine Kennung Ihrer benutzerdefinierten Vorlage

showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie discuz die Anzeige von Bulletboxen unabhängig steuert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage