Begrüßung der Benutzer nach der Tageszeit. - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Begrüßung der Benutzer nach der Tageszeit. (/thread-37646.html) |
Begrüßung der Benutzer nach der Tageszeit. - Kevin - 01.02.2021 Ich würde gerne Gast Benutzer und registrierte Benutzer nach Tageszeit Begrüßen einen PHP code Habe ich da für <?php // Begrüßung der Besucher if (date("G") >= 0 && date("G") < 4) $tach = "Gute Nacht!"; if (date("G") < 12 && date("G") >= 4) $tach = "Guten Morgen"; if (date("G") <= 18 && date("G") >= 12) $tach = "Guten Tag"; if (date("G") >= 19) $tach = "Guten Abend"; echo $tach; ?> Wie Baut man das am besten ein das es auch funktioniert PS Ich habe die Punkt 4.3 unserer Verhaltensregeln. Gelesen und möchte darauf aufmerksam machen, dass ich ein Mensch mit geistiger Behinderung und mit Legasthenie bin und einfach nicht besser schreiben kann, dass es solche Menschen wie mich gibt hat man wohl nicht mit einbezogen, wo man die Verhaltensregeln erstellt hatte RE: Begrüßung der Benutzer nach der Tageszeit. - [ExiTuS] - 01.02.2021 Das ist möglich, aber etwas komplizierter als gedacht. Hier gibt es zwei Möglichkeiten: 1) Programmierung eines Plugin, welches die Variablen "welcome_guest" und "welcome_back" den Tageszeiten neu definiert und im Header-Template einfügt. 2) Eine Änderung im PHP-Code inkl. neuer Variablen im Sprachpaket. Man könnte in der ./global.php an Zeile 530 (v1.8.24) ansetzen und folgenden Code ersetzen: Code: $lang->welcome_back = $lang->sprintf($lang->welcome_back, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $lastvisit); An dieser Stelle kann man die Abfrage der Tageszeit einbinden und unterschiedliche Variablen (neue) definieren, z.B. Code: if (date("G") >= 0 && date("G") < 4) $lang->welcome_back = $lang->sprintf($lang->welcome_back_night, ...); Das wäre nur eine simple Möglichkeit. Sicher gibt es noch Verbesserungspotential, auch was die Abfragen angeht. Solltest du das verwirklichen wollen, können wir gern hier ansetzen und weiter einsteigen [ExiTuS] RE: Begrüßung der Benutzer nach der Tageszeit. - Kevin - 01.02.2021 Ich würde da wirklich gern einsteigen gibt es eine docu Programmierung eines Plugin ? RE: Begrüßung der Benutzer nach der Tageszeit. - Gerti - 01.02.2021 Habe mal die Idee (gefällt mir sehr) schnell umgesetzt mit verschiedenen Texten: Text 1 = 00:00 bis 04:00 Uhr Text 1 = 04:00 bis 08:00 Uhr Text 1 = 08:00 bis 12:00 Uhr Text 1 = 12:00 bis 14:00 Uhr Text 1 = 14:00 bis 18:00 Uhr Text 1 = 18:00 bis 22:00 Uhr Text 1 = 22:00 bis 00:00 Uhr Kannst mal zu unterschiedlichen Zeiten hier nachsehen. Textfeld nach dem Counter! Wenn es dir so zusagt musst Du nur ein PlugIn für das PHP-Include (suche ich Dir noch raus) einbinden. Dann müsste a) der Username über das Templete + PHP-Datei > $username <?php include ("datei.php"); ?> b) Username direkt in der PHP-Datei definieren (weisich jedoch nicht wie). Für die Variable ($Username) nach a oder b hat sicherlich hier jemand eine Lösung! Vorteil meines Vorschlages: a) kein Eingriff in bestehende PHP-Dateien des Forums b) nur eine Zeile im Header-Template einzupflegen c) die Texte und Zeiten können schnell via FTP angepasst werden d) die PHP-Datei kann gar Datumsgesteuert ausgeführt werden Für die Variable ($Username) nach a oder b hat sicherlich hier jemand eine Lösung! Vorteil meines Vorschlages: a) kein Eingriff in bestehende PHP-Dateien des Forums b) nur eine Zeile im Header-Template einzupflegen c) die Texte und Zeiten können schnell via FTP angepasst werden d) die PHP-Datei kann gar Datumsgesteuert ausgeführt werden Wenn gewünscht richte ich Dir dies gerne ein bzw. schreibe ein detailierte Anleitung dazu. Aber sehe es Dir jetzt erst mal ein/zwei Tage an. RE: Begrüßung der Benutzer nach der Tageszeit. - tc4me - 02.02.2021 Guten Morgen , ich möchte mich dem Thema anschließen, hört sich super an, ich hab mal das versucht was du hier gepostet hast, nur leider wird der Username nicht mehr angezeigt Code: goblale sprachdatei englisch und deutsch sie und du Woran kann dass liegen ? lg Tc4me Arghhhh sorry ich Idi .... Sprachvariablen fehlt ja alles , so gehts Code: goblale sprachdatei englisch und deutsch sie und du Danke RE: Begrüßung der Benutzer nach der Tageszeit. - StefanT - 02.02.2021 Bedenkt, dass sich date() auf die Serverzeit und nicht auf die im Forum eingestellte Zeitzone bezieht. RE: Begrüßung der Benutzer nach der Tageszeit. - Kevin - 02.02.2021 Sony dass ich das jetzt fragen muss, wo finde ich die globale Sprachdatei englisch und deutsch sie und du Kann man mir da ein Tipp geben danke RE: Begrüßung der Benutzer nach der Tageszeit. - tc4me - 02.02.2021 Servus, vom Hauptverzeichnis inc/languages/englisch da die global.lang.php inc/languages/deutsch_sie da die global.lang.php inc/languages/deutsch_du da die global.lang.php ich habe es gleich unter (ca Zeile 38 mehr oder weniger sein) $l['welcome_current_time'] = "<strong>Current time:</strong> {1}"; und in den deutschen unter Zeile $l['welcome_current_time'] = "<strong>Es ist:</strong> {1}"; eingefügt lg RE: Begrüßung der Benutzer nach der Tageszeit. - Gerti - 02.02.2021 Habe es zum Test auch mal hier inkl. Includen einer PHP-Datei (wie in meinem oben stehenden Beitrag geschrieben) umgesetzt. Als Gast wird angezeigt "Hallo Gast: ....." als registrierter User wird angezeigt "Willkommen (Username): ...." Wenn nur die "angemeldeten" User angesprochen werden sollen, dann kann die IF-Bedingung entfallen. Die Formatierung des gesamten Textes kann nanch belieben durchgeführt werden. Da es ein reines Testforum ist, darf sich beliebig registriert werden. RE: Begrüßung der Benutzer nach der Tageszeit. - [ExiTuS] - 02.02.2021 Es freut mich, dass meine ungesteten Code-Schnipsel auf Anhieb funktionieren. Wie von Stefan bereits erwähnt, wird die Zeitzone sowie Sommerzeit nicht berücksichtig. Hier könnte man sich evtl. der my_date()-Funktion oder dessen Code-Zeilen bedienen, wo das Datum anhand benutzerdefinierter Offsets und DST berechnet wird - zu finden in ./inc/functions.php (Zeile 333ff / v1.8.24) Die if-Abfrage der aktuellen Stunde kann ebenfalls etwas optimiert werden (hier Pseudocode): Code: if (... < 4) { /* night */ } [ETS] |