Na dann
./online.php (ab Zeile 128ff bei v1.821)
oder suche nach dem Wort "sort":
PHP-Code:
// Custom sorting options
if($mybb->get_input('sortby') == "username")
{
$sql = "u.username ASC, s.time DESC";
$refresh_string = "?sortby=username";
}
elseif($mybb->get_input('sortby') == "location")
{
$sql = "s.location, s.time DESC";
$refresh_string = "?sortby=location";
}
und füge einen zusätzliche else-Zweig für die usergroup hinzu:
PHP-Code:
elseif($mybb->get_input('sortby') == "usergroup")
{
$sql = "s.usergroup, s.time DESC";
$refresh_string = "?sortby=usergroup";
}
Das sollte es für dein Zweck gewesen sein.
Auf diese Weise könntest du noch weitere Felder für die Sortierung hinzuziehen. Das eigentliche SQL-Statement findest du ab Zeile 207 (oder suche nach "ORDER BY $sql"). Je nachdem, was man hier reinsteckt, könnte man beinahe sortieren wonach man lustig ist
EDIT:
Du kannst natürlich auch ASC oder DESC nutzen.
[ExiTuS]
Erstmal schön, dass du ihm so schnell weiterhilfst.
get_input() sorgt aber nicht dafür, dass das Drop-Down-Feld im ACP um die Option "Benutzergruppe" bzw um "usergroup" erweitert wird. Somit muss da auch noch was geändert werden - oder vertu ich mich? Ich wüsste sonst nicht, wie/warum er in den if-Block springen sollte. Vielleicht habe ich aber auch einfach ne Denkblockade.
Evtl. habe ich ja das Ansinnen falsch verstanden, aber diese Lösung ändert doch nur die Sortierung in der online.php
Sein Anliegen war doch aber die Sortierreihenfolge in der index.php (template "index_whosonline") zu ändern.
(09.08.2019, 15:25)Schnapsnase schrieb: [ -> ]Evtl. habe ich ja das Ansinnen falsch verstanden, aber diese Lösung ändert doch nur die Sortierung in der online.php
Sein Anliegen war doch aber die Sortierreihenfolge in der index.php (template "index_whosonline") zu ändern.
$onlinemembers müsste tatsächlich in der index.php befüllt werden wenn ich mich nicht vertu. Somit hast du (glaube ich) Recht.
Ich bezweifel aber trotzdem, dass der Code oben für die online.php funktioniert. Vielleicht vertu ich mich da aber auch.
Wenn es dann auch noch im ACP eingestellt werden soll, einfach den entsprechenden Eintrag in der Tabelle mybb_settings ändern. Suche nach: mybb_settings.name = wolorder
mybb_settings.
sid,
name,
title,
description,
optionscode,
value,
disporder,
gid,
isdefault
VALUES:
196,
'wolorder',
'Who\'s Online Order',
'List the online users by username or last activity. Note: This setting only takes effect on the portal and index pages.',
'select\nusername=Order By Username (ASC)\nactivity=Order By Last Activity (DESC)',
'username',
3,
18,
1
Eine weitere Zeile im Feld "optionscode":
"usergroup=Order By Usergroup".
Und ggf. den Standard-Wert unter im Feld "value".
Dann ist die Option im ACP einstellbar.
[ExiTuS]
Hab jetzt von @[ExiTuS] alles so eingebaut, hab da aber nochmal eine Frage:
Zitat:Und ggf. den Standard-Wert unter im Feld "value".
Was genau soll ich da reinschreiben?
Wenn du dort "usergroup" hineinschreibst, ist das auch die aktivierte Standard-Option für die Sortierung beim Aufruf der Seite.
Funktioniert es denn mit diesen Änderungen oder haben die o.g. Zweifel Bestand? Mein Vorschlag trifft definitiv für die "Wer ist online?"-Seite zu. Für die Index-Seite bin ich aus dem Stehgreif nicht sicher.
[ExiTuS]
(09.08.2019, 16:11)[ExiTuS] schrieb: [ -> ]Wenn du dort "usergroup" hineinschreibst, ist das auch die aktivierte Standard-Option für die Sortierung beim Aufruf der Seite.
Funktioniert es denn mit diesen Änderungen oder haben die o.g. Zweifel Bestand?
[ExiTuS]
Hast du Schnapsnases Hinweis gelesen?
Leider ändert sich nichts.
Wieso überspringt ihr denn auch einfach Beiträge statt darauf mal einzugehen? Vielleicht kann man sich so unnötige Arbeit sparen?