Mitgliederliste anpassen - ows - 22.08.2008
Wie in den vorigen Versionen, möchte ich auch diesmal in der 1.4 die Mitgliederliste nach meinen Wünschen anpassen. eMail- und PN-Buttons sind drin; ein Problem habe ich aber mit dem jeweiligen Online-/Offline-/An- und Abwesenheits-Status.
Um den Status anzeigen zu lassen, habe ich in der "memberlist.php" (Zeile 322) folgenden Code vor:
PHP-Code: $user['regdate'] = my_date($mybb->settings['dateformat'], $user['regdate']).", ".my_date($mybb->settings['timeformat'], $user['regdate']); $user['lastvisit'] = my_date($mybb->settings['dateformat'], $user['lastactive']).", ".my_date($mybb->settings['timeformat'], $user['lastactive']);; $user['postnum'] = my_number_format($user['postnum']); $alt_bg = alt_trow(); eval("\$users .= \"".$templates->get("memberlist_user")."\";");
eingefügt und das entspr. Template um die Variablen $status bzw. $abwesend ergänzt:
PHP-Code: // START Online || Offline Status $timecut = time() - $mybb->settings['wolcutoffmins'];
if($users['lastactive'] > $timecut && $users['lastvisit'] != $users['lastactive']) { $status = 'Online'; } else { $status = 'Offline'; } // ENDE Online || Offline Status
// START Abwesend? if($users['away'] == "1") { $abwesend = 'Abwesend'; } else { $abwesend = 'Anwesend'; } // ENDE Abwesend?
Leider funktioniert das nicht so, wie ich will. Als Status wird immer "Offline" und "Anwesend" angezeigt. Der User "Test" ist - wie auch im Profil zu sehen - abwesend.
Demo: http://www.demida.de/forum/memberlist.php
Hab´ ich da irgendwo einen Denkfehler und seh´ wieder mal den Wald vor lauter Bäumen nicht, oder funktioniert dieser (leicht angepasste) Code aus der 1.2 nicht mit der 1.4?
RE: Mitgliederliste anpassen - Michael - 22.08.2008
Du benutzt in deinem Code die Variable $users, welche nicht definiert ist. Da ist ein "s" am Ende zu viel.
RE: Mitgliederliste anpassen - ows - 22.08.2008
Ich hab´s geahnt ... da waren tatsächlich zu viel Bäume, die den Blick versperrt haben. Da hilft jetzt nur noch ein Pause ... ab in den Garten und für 4 Stunden Rasen mähen
Danke, funktioniert!
RE: Mitgliederliste anpassen - ows - 31.08.2008
So, kurze Zusammenfassung für die, die´s auch in der 1.4 haben wollen:
Suche in der Datei "memberlist.php" (~Zeile 322) nach:
PHP-Code: $user['regdate'] = my_date($mybb->settings['dateformat'], $user['regdate']).", ".my_date($mybb->settings['timeformat'], $user['regdate']);
Füge davor ein:
PHP-Code: // START Online || Offline Status $timecut = time() - $mybb->settings['wolcutoff']; if($user['lastactive'] > $timecut && $user['lastvisit'] != $user['lastactive']) { eval("\$status = \"".$templates->get("postbit_online")."\";"); } else { eval("\$status = \"".$templates->get("postbit_offline")."\";"); } // ENDE Online || Offline Status
// START Abwesend? if($user['away'] == "1") { eval("\$abwesend = \"".$templates->get("postbit_away")."\";"); } else { eval("\$abwesend = \"\";"); } // ENDE Abwesend?
// START eMail und PN-Button $post['uid'] = $user['uid']; $emailcode = $pmcode = ''; if($user['hideemail'] != 1) { eval("\$emailcode = \"".$templates->get("postbit_email")."\";"); } if($user['receivepms'] != 0 && $mybb->settings['enablepms'] != 0 && my_strpos(",".$user['ignorelist'].",", ",".$mybb->user['uid'].",") === false) { eval("\$pmcode = \"".$templates->get("postbit_pm")."\";"); } // ENDE eMail und PN-Button
Dann können die Variablen {$status} {$abwesend} {$emailcode} und {$pmcode} im Template "memberlist_user" an beliebiger Stelle eingefügt werden. Demo-Link: http://www.demida.de/forum/memberlist.php
Die Ausgabe selbst (eigene Grafiken, nur Text etc.) kann in der jeweiligen eval("\....-Zeile angepasst werden.
Beispiel für den An-/Abwesenheitsstatus:
In der ersten eval-Zeile (bei Abwesenheit) wird das Standardicon (graues Männchen mit rotem Minus) eingebunden. In der zweiten eval-Zeile, die ausgegeben wird, wenn jemand anwesend ist, steht nichts. Soll hier z.B. der Text "Anwesend" angezeigt werden, müsste die Zeile so aussehen:
PHP-Code: eval("\$abwesend = \"Anwesend\";");
RE: Mitgliederliste anpassen - Thai-Tiger - 31.08.2008
(31.08.2008, 12:26)en-gedi schrieb: Dann können die Variablen {$status} {$abwesend} {$emailcode} und {$pmcode} im Template "memberlist_user" an beliebiger Stelle eingefügt werden.
Ist das Template "memberlist_user" das einzigste Template was geändert werden muss? Denn bei mir sieht das jetzt so aus:
RE: Mitgliederliste anpassen - ows - 31.08.2008
Da jetzt eine oder mehrere Spalten zusätzlich in der Tabelle sind, muss noch im Template "Memberlist" der Wert für "colspan" (müsste so ungefähr Zeile 11 sein) erhöht werden.
RE: Mitgliederliste anpassen - Thai-Tiger - 31.08.2008
Danke, aber {$emailcode} und {$pmcode} funzt bei mir leider nicht :-(
RE: Mitgliederliste anpassen - Andii S. - 03.09.2008
memberlist
Code: <html>
<head>
<title>{$mybb->settings['bbname']} - {$lang->member_list}</title>
{$headerinclude}
</head>
<body>
{$header}
{$multipage}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="11"><strong>{$lang->member_list}</strong></td>
</tr>
<tr>
<td class="tcat" width="5%"><span class="smalltext"><strong>{$lang->avatar}</strong></span></td>
<td class="tcat" width="25%" ><span class="smalltext"><strong>{$lang->username}</strong></span></td>
<td class="tcat" width="10%" align="center"><span class="smalltext"><strong>PM</strong></span></td>
<td class="tcat" width="10%" align="center"><span class="smalltext"><strong>E-Mail</strong></span></td>
<td class="tcat" width="15%" align="center"><span class="smalltext"><strong>{$lang->joined}</strong></span></td>
<td class="tcat" width="15%" align="center"><span class="smalltext"><strong>{$lang->lastvisit}</strong></span></td>
<td class="tcat" width="10%" align="center"><span class="smalltext"><strong>{$lang->posts}</strong></span></td>
<td class="tcat" width="10%" align="center"><span class="smalltext"><strong>Status</strong></span></td>
</tr>
{$users}
</table>
<div class="float_right" style="padding-top: 4px;">
<a href="showteam.php"><strong>{$lang->forumteam}</strong></a>
</div>
{$multipage}
<br style="clear: both;" />
<br />
<form method="post" action="memberlist.php">
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="3">
<div class="float_right">
<strong><a href="memberlist.php?action=search">{$lang->advanced_search}</a></strong>
</div>
<div><strong>{$lang->search_members}</strong></div>
</td>
</tr>
<tr>
<td class="tcat"><strong><label for="username">{$lang->username}</label></strong></td>
<td class="tcat"><strong><label for="website">{$lang->website}</label></strong></td>
<td class="tcat"><strong><label for="sort">{$lang->sort_by}</label></strong></td>
</tr>
<tr>
<td class="trow1" width="33%" style="vertical-align: top;">
{$lang->contains}<br />
<input type="text" class="textbox" name="username" id="username" style="width: 99%; margin-top: 4px;" value="{$search_username}" />
</td>
<td class="trow1" width="33%" style="vertical-align: top;">
{$lang->contains}<br />
<input type="text" class="textbox" name="website" id="website" style="width: 99%; margin-top: 4px;" value="{$search_website}" />
</td>
<td class="trow1" width="33%">
<select name="sort" id="sort" style="width: 99%;">
<option value="username"{$sort_selected['username']}>{$lang->sort_by_username}</option>
<option value="regdate"{$sort_selected['regdate']}>{$lang->sort_by_regdate}</option>
<option value="lastvisit"{$sort_selected['lastvisit']}>{$lang->sort_by_lastvisit}</option>
<option value="postnum"{$sort_selected['postnum']}>{$lang->sort_by_posts}</option>
</select><br />
<span class="smalltext">
<input type="radio" class="radio" name="order" id="order_asc" value="asc"{$order_check['asc']} /> <label for="order_asc">{$lang->order_asc}</label><br />
<input type="radio" class="radio" name="order" id="order_desc" value="desc"{$order_check['desc']} /> <label for="order_desc">{$lang->order_desc}</label>
</span>
</td>
</tr>
</table>
<div align="center"><br /><input type="submit" class="button" name="submit" value="{$lang->search}" /></div>
</form>
{$footer}
<script type="text/javascript" src="jscripts/autocomplete.js?ver=1400"></script>
<script type="text/javascript">
<!--
if(use_xmlhttprequest == "1")
{
new autoComplete("username", "xmlhttp.php?action=get_users", {valueSpan: "username"});
}
// -->
</script>
</body>
</html>
memberlist_user
Code: <tr>
<td class="{$alt_bg}" align="center">{$user['avatar']}</td>
<td class="{$alt_bg}">{$user['profilelink']}<br />
<span class="smalltext">
{$user['usertitle']}<br />
{$usergroup['groupimage']}
{$user['userstars']}
</span></td>
<td class="{$alt_bg}" align="center">{$pmcode}</td>
<td class="{$alt_bg}" align="center">{$emailcode}</td>
<td class="{$alt_bg}" align="center">{$user['regdate']}</td>
<td class="{$alt_bg}" align="center">{$user['lastvisit']}</td>
<td class="{$alt_bg}" align="center">{$user['postnum']}</td>
<td class="{$alt_bg}" align="center">{$status}</td>
</tr>
copy & paste, funzt
RE: Mitgliederliste anpassen - Thai-Tiger - 03.09.2008
(03.09.2008, 11:16)-=snAke=- schrieb: copy & paste, funzt
Bei mir nicht:
Hier die Memberlist.php:
memberlist.php (Größe: 10,02 KB / Downloads: 7)
RE: Mitgliederliste anpassen - Andii S. - 03.09.2008
versuchs mal mit meiner
memberlist.php (Größe: 10,76 KB / Downloads: 30)
|