Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
TopPoster im Portal mit Avatar
#1
Hallo Leute,

ich wollte gerne mal mein Portal ein bisschen ausbauen. Dazu möchte ich zwei Dinge tun. Jetzt erstmal zum ersten Punkt.

Ich möchte im Portal eine Box ganz normal mit HTML einfügen. Dort sollen dann die 5 oder 10 Topposter angezeigt werden. Ich werde das dann mit <marquee>...</marquee> zum Laufen bringen.

Aber ich weiß nicht genau, wie ich die Topposter angebe, mit was für einer Variable. Und dass dann noch zusätzlich ihre Avatars angezeigt werden.

Im Anhang ist ein Beispiel...


Angehängte Dateien Thumbnail(s)
   
Zitieren
#2
Nur mit HTML wird das nichts.
Du musst in der Datei portal.php die Daten erst aus der Datenbank auslesen.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Zitieren
#3
Kann man das mit einem einfachen Befehl machen, oder braucht man dazu mehr?
Zitieren
#4
Füge in der Datei portal.php vor:
PHP-Code:
eval("\$portal = \"".$templates->get("portal")."\";"); 
folgendes ein:
PHP-Code:
$topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
$query $db->query("SELECT username, avatar FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
while (
$user $db->fetch_array($query))
{
    
$topposter .= "<tr><td><img src=\"".$user['avatar']."\"></td></tr>\n";
    
$topposter .= "<tr><td>".$user['username']."</td></tr>\n";
}
$topposter .= "</table>\n"
Dann kannst du das ganze im Template portal mit:
Code:
{$topposter}
aufrufen.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Zitieren
#5
Hallo,

vielen Dank, dass du dir diese Mühe gemacht hast Smile

Ich habe aber noch ein kleines Problem. Also der Code wird angenommen, das heißt es gibt keine Fehlermeldungen, aber wenn ich dieses {$topposter} ins portal Template einfüge, ändert sich nichts im Portal. Es wird nichts angezeigt.
Zitieren
#6
Hast du den Code vor die genannte Zeile gesetzt?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#7
Ja ich habe den Code dahin gesetzt, aber der reagiert trotzdem nicht.
Zitieren
#8
Poste bitte deine URL, den betreffenden Abschnitt aus dem Template portal und häng mal deine portal.php an.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Zitieren
#9
Hier die URL: http://arabiczone.ar.funpic.de/forum/portal.php

Der Abschnitt aus dem Portal Template:
PHP-Code:
<html>
<
head>
<
title>{$mybb->settings['bbname']}</title>
{
$headerinclude}
</
head>
<
body>
{
$header}
<
table width="100%" cellspacing="0" cellpadding="{$theme['tablespace']}border="0" align="center">

..................................................

{
$announcements}
{
$topposter}
</
td>

<
td>&nbsp;</td>
<
td width="195" valign="top">
{
$search}
{
$latestthreads}
</
td>
</
tr>
</
table>

</
body>
</
html


Angehängte Dateien
.php   portal.php (Größe: 17,66 KB / Downloads: 3)
Zitieren
#10
Ändere folgende Zeilen in der Datei portal.php:
PHP-Code:
        $topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    
$query $db->query("SELECT username, avatar FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
    while (
$user $db->fetch_array($query))
    {
    
$topposter .= "<tr><td><img src=\"".$user['avatar']."\"></td></tr>\n";
    
$topposter .= "<tr><td>".$user['username']."</td></tr>\n";
    }
    
$topposter .= "</table>\n"

}
eval(
"\$portal = \"".$templates->get("portal")."\";"); 
zu:
PHP-Code:
}

    
$topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    
$query $db->query("SELECT username, avatar FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
    while (
$user $db->fetch_array($query))
    {
    
$topposter .= "<tr><td><img src=\"".$user['avatar']."\"></td></tr>\n";
    
$topposter .= "<tr><td>".$user['username']."</td></tr>\n";
    }
    
$topposter .= "</table>\n"

eval(
"\$portal = \"".$templates->get("portal")."\";"); 
(du hast das ganze aus Versehen mit in die Announcements-Funktion gesetzt)
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Topposter oben Loreli 18 7.522 09.01.2012, 06:32
Letzter Beitrag: Jockl