MyBB.de Forum
Last Post im Profil - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Last Post im Profil (/thread-33220.html)



Last Post im Profil - Panicked - 05.03.2016

Hallo liebe Community.
Gibt es eine Möglichkeit sowohl den Titel, als auch das Erstelldatum des letzten Beitrags im Profil auszugeben? Vielleicht sogar nur aus ausgewählten Foren? Letzteres wäre nicht allzu wichtig, auch wenn es recht praktisch sein könnte.

Ein Plugin scheint es dafür nicht zu geben, daher die Frage, ob das irgendwie anders lösbar wäre.

Vielen Dank im Voraus & liebe Grüße.


RE: Last Post im Profil - MrBrechreiz - 06.03.2016

Letzter Beitrag des Users, auf dessen Profil man ist ? Oder, letzter Beitrag allg. aus dem Forum ? Möglichkeiten gibt es genug.


RE: Last Post im Profil - Panicked - 06.03.2016

Ersteres wäre große Klasse!


RE: Last Post im Profil - MrBrechreiz - 06.03.2016

Versuch mal dies bitte.

Öffne die Datei member.php und Suche nach

PHP-Code:
$plugins->run_hooks("member_profile_end"); 

Darüber dies einfügen

PHP-Code:
#######last post start######
$query $db->query("
  SELECT p.*, t.*, u.username, u.usergroup, u.displaygroup, u.uid
  FROM "
.TABLE_PREFIX."posts p
      INNER JOIN "
.TABLE_PREFIX."forums f ON (f.fid = p.fid)
  LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid = p.uid)
  LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid = p.tid)
      WHERE u.uid="
.(int)$mybb->input[uid]."
  GROUP BY p.pid
  ORDER BY p.dateline DESC
  LIMIT 0,1
"
);
while(
$threads $db->fetch_array($query))
{
$threadsthreadsubject $threads['subject']; 
$threads['threadlink'] = get_post_link($threads['pid'],$threads['tid']);
$forumlink get_forum_link($threads['fid']);
$replies my_number_format($threads['replies']);
$views my_number_format($threads['views']);
$threadprefix build_prefixes($threads['prefix']);
$prefix $threadprefix['displaystyle'].' ';
$lastpostdate my_date($mybb->settings['dateformat'], $threads['lastpost']);
$lastposttime my_date($mybb->settings['timeformat'], $threads['lastpost']);

$last_post_table .= "<tr>
<td class=\"trow2\">
$prefix<a href=\"".$mybb->settings['bburl']."/".$threads['threadlink']."#pid".$threads['pid']."\" title=\"$threads[threadsubject]\">$threadsthreadsubject</a></td>
<td class=\"trow1\" align=\"center\">
$replies</td>
<td class=\"trow2\" align=\"center\">
$views</td>
<td class=\"trow1\" align=\"center\"><span class=\"smalltext\">
$lastpostdate $lastposttime</span></td>
</tr>"
;
}
$last_post "<table border=\"0\" cellspacing=\"".$theme['borderwidth']."\" cellpadding=\"".$theme['tablespace']."\" class=\"tborder\">
<tr>
<td class=\"thead\" colspan=\"6\"><strong>Letzter Beitrag von 
$formattedname</strong></td>
</tr>
<tr>
<td class=\"tcat\" width=\"45%\"><span class=\"smalltext\"><strong>Thema Name</strong></span></td>
<td class=\"tcat\" width=\"10%\" align=\"center\"><span class=\"smalltext\"><strong>Antworten</strong></span></td>
<td class=\"tcat\" width=\"10%\" align=\"center\"><span class=\"smalltext\"><strong>Ansichten</strong></span></td>
<td class=\"tcat\" width=\"30%\" align=\"center\"><span class=\"smalltext\"><strong>Datum</strong></span></td>
</tr>
<tbody>
{$last_post_table}
</tbody>
</table><br />"
;

#######last post end###### 

Einige Abfragen sind noch drinnen, die man evtl noch nutzen kann um zB das Forum zusätzlich abfragen zu können.

Um nur aus einem bestimmten Forum die Beiträge abzufragen, fügst Du dies zusätzlich in das WHERE ein.

PHP-Code:
AND f.fid IN ('2'

Wobei die 2 in meinem Fall das Forum mit der ID 2 ist.

Upps, völlig vergessen.

Diese Variable

Code:
{$last_post}

kommt in das member_profile Template, zum Beispiel nach

Code:
{$contact_details}

Wenn es funktioniert, viel Spass damit.


RE: Last Post im Profil - Panicked - 07.03.2016

Wow, das klappt ganz hervorragend. Vielen lieben Dank dafür!

Wenn ich nun möchte dass das aus mehreren bestimmten Foren gleichzeitig ausgelesen wird, kann man das auch noch definieren?

Als Beispiel: Hier im Forum möchte ich den letzten Beitrag aus dem Bereich MyBB 1.8.x, statt nur aus "allgemeiner Support". Wie könnte ich das dann umsetzen?

Denn wenn ich die ID der Kategorie nehme, funktioniert es nicht. Vermutlich muss man die verschiedenen fids dann aneinanderreihen, oder?


RE: Last Post im Profil - MrBrechreiz - 07.03.2016

Mach aus

PHP-Code:
AND f.fid IN ('2'

zum Beispiel

PHP-Code:
AND f.fid IN ('2','4'

usw...

Alle einzelnen Foren IDs mit einfachem Hochkomma und dazwischen ein Komme setzen


RE: Last Post im Profil - Panicked - 07.03.2016

Riesen großen Dank dafür. Klappt ganz hervorragend und ist genau das, wonach ich gesucht habe!