[große Grafik] Top10user-MOD mit Mitgliederliste kombinieren

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
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.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

[große Grafik] Top10user-MOD mit Mitgliederliste kombinieren

Beitrag von smart »

Liebe Leute,
habe den Top10user-MOD installiert (okay, "installiert" ist vielleicht zu viel gesagt - war ja keine besondere Leistung von mir... :lol:). Jetzt würde ich aber gerne exakt die Auflistung (2), wie sie auf der Top10-Seite ist, vor die normale Mitgliederliste (4) setzen. Und das mit einer kleinen Überschrift für die Top-10-User (1) und die normale Userliste (3).


[Grafik entfernt]

Habt ihr eine Idee, wie ich das anstelle?
Zuletzt geändert von smart am 29.05.2005 13:05, insgesamt 1-mal geändert.
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

Beitrag von smart »

Haben sich jetzt alle von der großen Grafik abschrecken lassen, oder gibt es wirklich keinen, der einen Tipp hat? Muss doch für einen Experten ein Kinderspiel sein - ärgerlich nurn dass ich keiner bin. :cry:
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

Beitrag von smart »

*schieb*
Benutzeravatar
punkface
Mitglied
Beiträge: 3579
Registriert: 12.08.2004 23:37

Beitrag von punkface »

Also dann mal los...

memberlist.php

suchen

Code: Alles auswählen

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

Code: Alles auswählen

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

Code: Alles auswählen

	'L_PM' => $lang['Private_Message'],
danach einfügen

Code: Alles auswählen

  'L_TOPTEN' => $lang['Sort_Top_Ten'],
suchen

Code: Alles auswählen

  case 'topten':
		$order_by = "user_posts $sort_order LIMIT 10";
		break;
Das kannst du jetzt einfach löschen oder mit /* und */ auskommentieren.

suchen

Code: Alles auswählen

$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
	FROM " . USERS_TABLE . "
	WHERE user_id <> " . ANONYMOUS . "
	ORDER BY $order_by";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
ersetzten mit

Code: Alles auswählen

$schleife = 'topten';
$weiter = true;
while($weiter)
{
  if($schleife == 'topten')
  {
    $sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
    	FROM " . USERS_TABLE . "
    	WHERE user_id <> " . ANONYMOUS . "
    	ORDER BY user_posts DESC LIMIT 10";
    if( !($result = $db->sql_query($sql)) )
    {
    	message_die(GENERAL_ERROR, 'Could not query users (topten)', '', __LINE__, __FILE__, $sql);
    }
  }
  else
  {
    $sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 
    	FROM " . USERS_TABLE . "
    	WHERE user_id <> " . ANONYMOUS . "
    	ORDER BY $order_by";
    if( !($result = $db->sql_query($sql)) )
    {
    	message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
    }
  }
suchen

Code: Alles auswählen

    $template->assign_block_vars('memberrow', array(
ersetzten mit

Code: Alles auswählen

    $template->assign_block_vars($schleife, array(
suchen

Code: Alles auswählen

	while ( $row = $db->sql_fetchrow($result) );
	$db->sql_freeresult($result);
}
danach einfügen

Code: Alles auswählen

  if ($schleife == 'memberrow')
  {
    $weiter = false;
  }
  $schleife = 'memberrow';
}
memberlist_body.tpl
suchen

Code: Alles auswählen

<form method="post" action="{S_MODE_ACTION}">
davor einfügen

Code: Alles auswählen

<div class="nav" style="width:100%;text-align:center;">
{L_TOPTEN}
</div>
<div style="width:100%;margin:4px;">
<span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span>
</div>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
	<tr> 
	  <th height="25" class="thCornerL" nowrap="nowrap">#</th>
	  <th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
	  <th class="thTop" nowrap="nowrap">&nbsp;</th>
	  <th class="thTop" nowrap="nowrap">{L_FROM}</th>
	  <th class="thTop" nowrap="nowrap">{L_JOINED}</th>
	  <th class="thTop" nowrap="nowrap">{L_POSTS}</th>
	  <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
	</tr>
	<!-- BEGIN topten -->
	<tr> 
	  <td class="{topten.ROW_CLASS}" align="center"><span class="gen">&nbsp;{topten.ROW_NUMBER}&nbsp;</span></td>
	  <td class="{topten.ROW_CLASS}" align="center"><span class="gen"><a href="{topten.U_VIEWPROFILE}" class="gen">{topten.USERNAME}</a></span></td>
	  <td class="{topten.ROW_CLASS}" align="left" valign="middle">{topten.PM_IMG}&nbsp;{topten.EMAIL_IMG}&nbsp;{topten.ICQ_IMG}&nbsp;{topten.AIM_IMG}&nbsp;
{topten.MSN_IMG}&nbsp;{topten.YIM_IMG}</td> 
	  <td class="{topten.ROW_CLASS}" align="center" valign="middle"><span class="gen">{topten.FROM}</span></td>
	  <td class="{topten.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{topten.JOINED}</span></td>
	  <td class="{topten.ROW_CLASS}" align="center" valign="middle"><span class="gen">{topten.POSTS}</span></td>
	  <td class="{topten.ROW_CLASS}" align="center">&nbsp;{topten.WWW_IMG}&nbsp;</td>
	</tr>
	<!-- END topten -->
	<tr> 
	  <td class="catBottom" colspan="8" height="28">&nbsp;</td>
	</tr>
  </table>
  <table width="100%" cellspacing="2" border="0" align="center" cellpadding="2">
	<tr> 
	  <td align="right" valign="top"></td>
	</tr>
 </table>
<div class="nav" style="width:100%;text-align:center;">
{L_MEMBERLIST}
</div>
Sollte funktionieren .. :D
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

Beitrag von smart »

Jetzt hast du echt einen gut bei mir!
D A N K E !
Benutzeravatar
punkface
Mitglied
Beiträge: 3579
Registriert: 12.08.2004 23:37

Beitrag von punkface »

tata... kleiner "schönheits" Fehler. Wenn z.B. festgelegt ist, dass nur 50 Mitglieder pro Seite angezeigt werden sollen, die Mitgliederliste bei mehr als 50 Mitgliedern aber über mehrere Seiten geht, beginnt die Aufzählung in der Top10 Liste z.B. auf der zweiten Seite nicht mit 1 sondern mit 51.

memberlist.php
suchen

Code: Alles auswählen

      'ROW_NUMBER' => $i + ( $start + 1 ),
ersetzten mit

Code: Alles auswählen

      'ROW_NUMBER' => ($schleife == 'topten') ? $i + 1 : $i + ( $start + 1 ),
sodelle..
smart hat geschrieben:Jetzt hast du echt einen gut bei mir!
D A N K E !
edit: mist dazu wollt ich doch auch noch was sagen: Kein Problem :D
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

Beitrag von smart »

Danke!

Eine Sache ist mir aufgefallen: Ich hatte mich als Admin vorher aus der Liste ausgeschlossen, weiß aber nicht mehr, wie ich das angestellt habe. Wie kann ich mich denn sowohl aus der TopTen, als auch aus der Mitgliederliste nehmen?
Benutzeravatar
punkface
Mitglied
Beiträge: 3579
Registriert: 12.08.2004 23:37

Beitrag von punkface »

memberlist.php
suche (solltest du zweimal finden, wenn du die oben gezeigten Code Änderungen gemacht hast)

Code: Alles auswählen

    	WHERE user_id <> " . ANONYMOUS . "
danach einfügen (ja, bei beiden Stellen)

Code: Alles auswählen

        AND user_id <> 2

Die 2 ggf. durch deine Benutzer ID ersetzten.

Und falls die Frage kommt, wie man rausfindet welche Benutzer ID man hat:
Wenn man z.B. in der Mitgliederliste auf den eigenen Nick klickt, müsste so was ähnliches in der Adressleiste deines Browsers stehen:
http://domain.tld/pfad_zum_forum/profil ... 58103a0e43

Die Zahl hinter u= ist die Benutzer ID, in diesem Fall also 2.
Benutzeravatar
smart
Mitglied
Beiträge: 767
Registriert: 25.01.2005 02:05
Kontaktdaten:

Beitrag von smart »

Dank' dir!

PN bekommen?
Benutzeravatar
shizo
Mitglied
Beiträge: 587
Registriert: 29.01.2005 22:20
Wohnort: rosenheim
Kontaktdaten:

Beitrag von shizo »

da muss ich mal punkface mein lob aussprechen einfach so sich die mühe gemacht, echt super! :wink:
ˆ\_/
.O.o
This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Antworten

Zurück zu „phpBB 2.0: Mod Support“