MyBB.de Forum

Normale Version: Wer ist online? - Sotierung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Na dann Smile

./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 Smile

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. Big Grin
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. Big Grin
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? Smile

[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?
Seiten: 1 2 3