Seite 1 von 1

Ränge in der Memberlist anzeigen

Verfasst: 24.12.2006 11:09
von xpressive
Ich würde auf der Memberlist gerne die Ränge der User unter ihrem Namen mit anzeigen. Die Templates anzupassen ist kein Problem, aber vielleicht kann mir jemand einen Tip geben, welche SQL-Abfrage ich wo in der memberlist einfügen muss, um das am effizientesten zu lösen (möchte nicht die Board-Performance unnötig drücken).

Da war doch noch was... ach ja: FROHES FEST! :D

Verfasst: 24.12.2006 11:35
von xpressive
Alles klar, schon gelöst. Habe das mal so gemacht:

memberlist.php

FINDE:

Code: Alles auswählen

	default:
		$order_by = "user_regdate $sort_order LIMIT $start, 50";
		break;
}
DANACH EINFÜGEN:

Code: Alles auswählen

// MOD: DISPLAY USER RANKS ON MEMBERLIST ----------------------------
$sql = "SELECT *
	FROM " . RANKS_TABLE . "
	ORDER BY rank_special, rank_min";
if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql); }

$ranksrow = array(); while ( $row = $db->sql_fetchrow($result) ) { $ranksrow[] = $row; }

$db->sql_freeresult($result);
// ------------------------------------------------------------------
FINDE:

Code: Alles auswählen

		$username = $row['username'];
		$user_id  = $row['user_id'];
DANACH EINFÜGEN:

Code: Alles auswählen

		// MOD: DISPLAY USER RANKS ON MEMBERLIST ----------------------------
		$poster_rank = '';
		$rank_image  = '';
		if ( $row['user_rank'] )
			{
			for($j = 0; $j < count($ranksrow); $j++)
				{
				if ( $row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'] )
					{
					$poster_rank =   $ranksrow[$j]['rank_title'];
					$rank_image  = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
					}
				}
			}
		else
			{
			for($j = 0; $j < count($ranksrow); $j++)
				{
				if ( $row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'] )
					{
					$poster_rank =   $ranksrow[$j]['rank_title'];
					$rank_image  = ( $ranksrow[$j]['rank_image'] ) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $poster_rank . '" title="' . $poster_rank . '" border="0" /><br />' : '';
					}
				}
			}
		// ------------------------------------------------------------------
FINDE:

Code: Alles auswählen

			'YIM_IMG' => $yim_img,
			'YIM' => $yim,
DANACH EINFÜGEN:

Code: Alles auswählen

			'RANK' => $poster_rank,
			'RANK_IMG' => $rank_image,

So, dann braucht man nur noch in der memberlist_body.tpl an geeigneter Stelle die beiden Platzhalter {memberrow.RANK} und {memberrow.RANK_IMG} einfügen.