Beiträge: 226
Themen: 10
Registriert seit: 06.03.2020
MyBB-Version: 1.8.27
05.02.2021, 06:10
(Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2021, 11:08 von StefanT.)
PHP-Code: //Begin Time welcome Tc4me $uhrzeit = gmdate($mybb->settings['timeformat'],TIME_NOW + $mybb->user['timezone'] * 3600); if ($uhrzeit >= 0 && $uhrzeit < 4) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_night, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } elseif ($uhrzeit < 10 && $uhrzeit >= 4) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_morning, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } elseif ($uhrzeit <= 18 && $uhrzeit >= 10) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_day, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } else//if ($uhrzeit >= 19) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_evening, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } //End Time welcome Tc4me
So sollte die global.php danach ausssehen,
Beiträge: 8
Themen: 0
Registriert seit: 04.02.2021
06.02.2021, 10:15
Top !
Omega6
Beiträge: 1.709
Themen: 177
Registriert seit: 08.02.2018
MyBB-Version: 1.8.37
06.02.2021, 16:35
(Dieser Beitrag wurde zuletzt bearbeitet: 06.02.2021, 17:09 von Gerti.)
(05.02.2021, 06:10)tc4me schrieb: So sollte die global.php danach ausssehen,
Alles in allem eine echt saubere Sache. Kompliment.
Habe es mal umgesetzt und festgestellt, das wenn man anstelle
<18 und >10 = Text "Tag" = funktioniert
mal nimmt:
<12 und >10 = Text "Tag" = funktioniert
<14 und >12 = Text "Mahlzeit" = keine Funktion, es wird "Tag angezeigt.
Kann es sein dass da 0-12 = AM/PM ausgeführt wird anstelle von 0-24
[Edit:]
Fehler gefunden, es lag an meiner falsch eingestellten Zeitzone. Funktioniert nun perfekt. Danke
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an! ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools ◀ [ Unixzeit ⇔ Realzeit] ♦ [ BOM-Finder] ♦ [ SQL-Prefix-Changer] ♦ [ USV-Rechner] ♦ [ PlugIns]
Beiträge: 837
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Ich möchte noch einmal darauf hinweisen, dass man diese "umfangreichen" if-Abfragen vereinfachen kann.
Wie hier bereits erwähnt wurde, braucht es absolut kein "if von und bis Stunde". Um alle Stunden abzufragen reicht entweder nur "< Stunde" oder "> Stunde" (je nach Reihenfolge).
Warum also macht ihr es euch komplizierter als nötig?
Nebenbei. Wie man sieht, kommt man manches Mal nicht drum herum in den PHP-Dateien zu manipulieren. Also noch ein kleiner Tipp: Versucht besser die Zeilen so gut es geht bei zu behalten, so dass man sich auch weiterhin an Zeilenangaben innerhalb des Codes orientieren kann. Der gesamte Code ließe sich auch in ein/zwei Zeilen unterbringen und würde die Zeilen nicht verrutschen
[ExiTuS]
Beiträge: 226
Themen: 10
Registriert seit: 06.03.2020
MyBB-Version: 1.8.27
07.02.2021, 06:14
(Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2021, 10:27 von StefanT.
Bearbeitungsgrund: Vollzitat entfernt
)
Servus und Danke, jetzt hänge ich :-( , kannst du mir mal mit "< Stunde" oder "> Stunde" (je nach Reihenfolge). einen kurzen Ansatz in meine Ausführung eingeben, damit ich es verstehe, leider reichen meine Kenntnisse jetzt Null aus . Danke Grüße Tc4me
PHP-Code: //Begin Time welcome Tc4me $uhrzeit = gmdate($mybb->settings['timeformat'],TIME_NOW + $mybb->user['timezone'] * 3600); if ($uhrzeit <= 10) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_morning, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } elseif ($uhrzeit <= 18) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_day, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } elseif ($uhrzeit <= 22) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_evening, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } else//if ($uhrzeit >= 22) { $lang->welcome_back = $lang->sprintf($lang->welcome_back_night, build_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow); } //End Time welcome Tc4me
Dass mit der Stunde denke ich habe ich verstanden, :-)
Beiträge: 8
Themen: 0
Registriert seit: 04.02.2021
Warum etwas ändern wenn es läuft?
Ich lass es so, Danke
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
08.02.2021, 01:20
(Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2021, 10:28 von StefanT.
Bearbeitungsgrund: Vollzitat entfernt
)
1. Programmierrichtlinien / Konventionen
2. Weniger Code = bessere Performance (auch wenn es bei so wenig Code erst mal egal ist)
Beiträge: 8
Themen: 0
Registriert seit: 04.02.2021
Habt ihr soetwas wie einen Geheimcode untereinander? Jetzt sprechen schon meherere von was geändert gehört, abe.
r keiner sagt wie. Wie Politiker, reden aber nichts sagen...😄
Beiträge: 837
Themen: 8
Registriert seit: 08.02.2016
MyBB-Version: 1.8.38
Auf der ersten Seite ist bereits erwähnt worden, wie man die if-Abfragen vereinfacht
https://www.mybb.de/forum/thread-37646-p...#pid247383
Es ging nur darum, diesen Happen an Programmcode noch schlanker und effizienter zu machen.
[ExiTuS]
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
(08.02.2021, 11:24)[ExiTuS] schrieb: Auf der ersten Seite ist bereits erwähnt worden, wie man die if-Abfragen vereinfacht
https://www.mybb.de/forum/thread-37646-p...#pid247383
Es ging nur darum, diesen Happen an Programmcode noch schlanker und effizienter zu machen.
[ExiTuS]
Rein vom optischen ist da durchaus switch-case schöner.
Man könnte sowas machen wie (runtergeschrieben in 20 Sek, nicht getestet)
PHP-Code: // aktuelle Stunde $time = 20;
switch ($time) { case $time <= 5: echo "So früh schon wach?"; break; case $time <= 10: echo "Guten Morgen"; break; case $time >= 19: echo "Guten Abend"; break; default: echo "Guten Tag!"; }
|