mitgliederliste sortieren

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Gästle

mitgliederliste sortieren

Beitrag von Gästle »

hallo zusammen!

geht es dass die mitgliederliste direkt, ohne es jedesmal so einzustellen, nach der anzahl der beiträge sortiert wird?

LG

ute
Benutzeravatar
esperitox
Mitglied
Beiträge: 803
Registriert: 17.04.2002 21:40
Wohnort: Line 758
Kontaktdaten:

Beitrag von esperitox »

memberlist.php:

Suchen

Code: Alles auswählen

$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
Ersetzen mit:

Code: Alles auswählen

$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
esperitox
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag von Guido »

Das kann ich auch gut gebrauchen ..;-) Und was muss ich noch ändern wenn ich das automatisch "Absteigend" haben möchte ?
Benutzeravatar
Simpson
Ehemaliges Teammitglied
Beiträge: 1088
Registriert: 20.05.2002 17:35
Wohnort: Göttingen
Kontaktdaten:

Beitrag von Simpson »

Suche

Code: Alles auswählen

$sort_order = 'ASC'; 
Ersetze durch

Code: Alles auswählen

 $sort_order = 'DESC'; 
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag von Guido »

Jau ..! THX
rincewind
Mitglied
Beiträge: 26
Registriert: 04.12.2002 17:16

Beitrag von rincewind »

Moinsen,
ich wollte die Memberlist nach Namen sortieren lassen und habe

Code: Alles auswählen

$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
durch

Code: Alles auswählen

$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
ersetzt.
Auf der ersten Seite klappt das auch wunderbar, aber wenn man sich die folgenden Seiten anschauen möchte, wird sie wieder nach "joined" sortiert.
Woran kann das denn liegen?
rincewind
Mitglied
Beiträge: 26
Registriert: 04.12.2002 17:16

Beitrag von rincewind »

Hat keiner ne Idee???
Benutzeravatar
esperitox
Mitglied
Beiträge: 803
Registriert: 17.04.2002 21:40
Wohnort: Line 758
Kontaktdaten:

Beitrag von esperitox »

Gib ma ne url wo man sich das ma anschauen kann.

esperitox
rincewind
Mitglied
Beiträge: 26
Registriert: 04.12.2002 17:16

Beitrag von rincewind »

Es können nur registriete User die Memberliste einsehen... :-?
Aber vielleicht hilft ja auch der Code ein wenig weiter:

Code: Alles auswählen

[...]
if ( !$userdata['session_logged_in'] )
{
$header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")) ) ? "Refresh: 0; URL=" : "Location: ";
header($header_location . append_sid("login.".$phpEx."?redirect=memberlist.".$phpEx, true));
exit;
}
// End 'Restrict Memberlist/Grouplist' MOD

$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;

if(isset($HTTP_POST_VARS['order']))
{
	$sort_order = ($HTTP_POST_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else if(isset($HTTP_GET_VARS['order']))
{
	$sort_order = ($HTTP_GET_VARS['order'] == 'ASC') ? 'ASC' : 'DESC';
}
else
{
	$sort_order = 'ASC';
}

//
// Memberlist sorting
//
$mode_types_text = array($lang['Sort_Username'],$lang['Sort_Joined'], $lang['Sort_Location'], $lang['Sort_Posts'], $lang['Sort_Email'],  $lang['Sort_Website'], $lang['Sort_Top_Ten']);
$mode_types = array('username','joindate', 'location', 'posts', 'email', 'website', 'topten');

$select_sort_mode = '<select name="mode">';
for($i = 0; $i < count($mode_types_text); $i++)
{
	$selected = ( $mode == $mode_types[$i] ) ? ' selected="selected"' : '';
	$select_sort_mode .= '<option value="' . $mode_types[$i] . '"' . $selected . '>' . $mode_types_text[$i] . '</option>';
}
$select_sort_mode .= '</select>';

$select_sort_order = '<select name="order">';
if($sort_order == 'ASC')
{
	$select_sort_order .= '<option value="ASC" selected="selected">' . $lang['Sort_Ascending'] . '</option><option value="DESC">' . $lang['Sort_Descending'] . '</option>';
}
else
{
	$select_sort_order .= '<option value="ASC">' . $lang['Sort_Ascending'] . '</option><option value="DESC" selected="selected">' . $lang['Sort_Descending'] . '</option>';
}
$select_sort_order .= '</select>';

//
// Generate page
//
$page_title = $lang['Memberlist'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
	'body' => 'memberlist_body.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
	'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
	'L_EMAIL' => $lang['Email'],
	'L_WEBSITE' => $lang['Website'],
	'L_FROM' => $lang['Location'],
	'L_ORDER' => $lang['Order'],
	'L_SORT' => $lang['Sort'],
	'L_SUBMIT' => $lang['Sort'],
	'L_AIM' => $lang['AIM'],
	'L_YIM' => $lang['YIM'],
	'L_MSNM' => $lang['MSNM'],
	'L_ICQ' => $lang['ICQ'], 
	'L_JOINED' => $lang['Joined'], 
	'L_POSTS' => $lang['Posts'], 

	'S_MODE_SELECT' => $select_sort_mode,
	'S_ORDER_SELECT' => $select_sort_order,
	'S_MODE_ACTION' => append_sid("memberlist.$phpEx"))
);

if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
	$mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];

	switch( $mode )
	{
        case 'username':
			$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'joindate':
			$order_by = "user_regdate ASC LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'location':
			$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'posts':
			$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'email':
			$order_by = "user_email $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'website':
			$order_by = "user_website $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
		case 'topten':
			$order_by = "user_posts DESC LIMIT 10";
			break;
		default:
			$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;
	}
}
else
{
	$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
}[...]
Benutzeravatar
esperitox
Mitglied
Beiträge: 803
Registriert: 17.04.2002 21:40
Wohnort: Line 758
Kontaktdaten:

Beitrag von esperitox »

Du hast ja auch net gemacht was ich geschrieben habe dann kanns ja auch net gehen :wink:

Ersetze:

Code: Alles auswählen

default: 
         $order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page']; 
         break; 
mit:

Code: Alles auswählen

default: 
         $order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page']; 
         break; 
esperitox
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“