MyBB.de Forum

Normale Version: Simpel-Frage: Möchte in Memberlist den Vor/Nachnamen anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Die Zeit wird wahrscheinlich über das Template formatiert. Einfach auf die Angabe im Profil zugreifen, da dürften es Sekunden sein, und dann mit date() oder einer ähnlichen PHP Funktion so formatieren wie du es haben möchtest.
(16.06.2010, 08:22)Jan schrieb: [ -> ]Die Zeit wird wahrscheinlich über das Template formatiert. Einfach auf die Angabe im Profil zugreifen, da dürften es Sekunden sein, und dann mit date() oder einer ähnlichen PHP Funktion so formatieren wie du es haben möchtest.

Besser ist es die MyBB-Funktion my_date zu verwenden:

PHP-Code:
my_date($mybb->settings['dateformat'], $dateline)
my_date($mybb->settings['timeformat'], $dateline

$dateline ist hier symbolisch und steht für einen Unix-Zeitstempel.
(16.06.2010, 08:21)querschlaeger schrieb: [ -> ]https://www.mybb.de/forum/thread-22190.html Wink

Vielen Dank für den Beitragslink. Wer sucht, der findet, ich war etwas zu faul dazu und wirklich Zeit habe ich derzeit leider auch nicht. Derzeit muß ich den Haushalt schmeißen, da meine Frau im Krankenhaus liegt.

(16.06.2010, 08:22)Jan schrieb: [ -> ]Die Zeit wird wahrscheinlich über das Template formatiert. Einfach auf die Angabe im Profil zugreifen, da dürften es Sekunden sein, und dann mit date() oder einer ähnlichen PHP Funktion so formatieren wie du es haben möchtest.

Im template des Profiles wird das ganze per Variabel
Code:
{$timeonline}
angezeigt.

Diese wird in der member.php per Funktion
Code:
$timeonline = nice_time($memprofile['timeonline']);
berechnet.

Die Funktion selbst ist in der functions.php:
Code:
function nice_time($stamp, $options=array())
{
    global $lang;

    $ysecs = 365*24*60*60;
    $mosecs = 31*24*60*60;
    $wsecs = 7*24*60*60;
    $dsecs = 24*60*60;
    $hsecs = 60*60;
    $msecs = 60;
.....

Was genau müsste ich in die memberlist.php einfügen, damit die timeonline Berechnung vorgenommen wird? timeonline kommt in der memberlist.php gar nicht vor. Im Mitgliederliste Template habe ich zur Abfrage den Wert
Code:
{$user['timeonline']}
benutzt.

MfG Olaf

PS. Ich lerne erst PHP, bzw ich versuche es.
Die Funktion kannst du auch in der memberlist.php aufrufen. Der Aufruf ist also analog dazu:
PHP-Code:
$timeonline nice_time($user['timeonline']); 
und dann $timeonline im Template dort einsetzen, wo du die Zeitangabe haben möchtest.
Danke Jan, leider funktioniert es so nicht. Hier mal der Code meiner memberlist.php:

Code:
define("IN_MYBB", 1);
define('THIS_SCRIPT', 'memberlist.php');

$templatelist = "memberlist,memberlist_member,memberlist_search,memberlist_user,memberlist_user_groupimage,memberlist_user_avatar";
$templatelist .= ",postbit_www,postbit_email,multipage_nextpage,multipage_page_current,multipage_page,multipage_start,multipage_end,multipage";
require_once "./global.php";



// Load global language phrases
$lang->load("memberlist");

if($mybb->settings['enablememberlist'] == 0)
{
    error($lang->memberlist_disabled);
}

$plugins->run_hooks("memberlist_start");

add_breadcrumb($lang->nav_memberlist);


if($mybb->usergroup['canviewmemberlist'] == 0)
{
    error_no_permission();
}


$timeonline = nice_time($user['timeonline']);


// Showing advanced search page?
if($mybb->input['action'] == "search")

...

Der Aufruf erfolgt wie von dir empfohlen per $timeonline. Fehlt eventuell eine require_once php Datei?

Anderenfalls würde es mir auch genügen, wenn ich den Online Sekundenzeit in Tage umrechnen kann.

Wie müsste ich dafür timeonline definieren?
$user ist dort noch nicht verfügbar. Suche mal nach:
PHP-Code:
while($user $db->fetch_array($query)) 
Innerhalb dieser Schleife muss die Funktion aufgerufen werden.
Wow Querschläger, es funzt. Vielen Dank!
Seiten: 1 2