Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
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?
The User, Formerly Known As "En-Gedi"
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Du benutzt in deinem Code die Variable $users, welche nicht definiert ist. Da ist ein "s" am Ende zu viel.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
22.08.2008, 13:06
(Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2008, 13:08 von ows.)
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!
The User, Formerly Known As "En-Gedi"
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
31.08.2008, 12:26
(Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2008, 13:22 von ows.)
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\";");
The User, Formerly Known As "En-Gedi"
Beiträge: 438
Themen: 47
Registriert seit: 28.07.2007
(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:
Gruß, Micha
=========
Beiträge: 2.288
Themen: 141
Registriert seit: 17.11.2005
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.
The User, Formerly Known As "En-Gedi"
Beiträge: 438
Themen: 47
Registriert seit: 28.07.2007
Danke, aber {$emailcode} und {$pmcode} funzt bei mir leider nicht :-(
Gruß, Micha
=========
Beiträge: 353
Themen: 4
Registriert seit: 09.09.2007
MyBB-Version: 1.6.5
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
Beiträge: 438
Themen: 47
Registriert seit: 28.07.2007
(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)
Gruß, Micha
=========
Beiträge: 353
Themen: 4
Registriert seit: 09.09.2007
MyBB-Version: 1.6.5
versuchs mal mit meiner
memberlist.php (Größe: 10,76 KB / Downloads: 30)
|