Seite 1 von 1

zusätzlicher Block im Portal - Topics aus einem Forum

Verfasst: Mo 22.Aug, 2005 19:37
von shadowrider
ich möchte im Portal, analog zum Block letzte Themen, einen weiteren Block haben, in welchem aus einem bestimmten Forum die letzten x Topics angezeigt werden

Hintergrund: ich habe ein Forum Suche/Biete, von diesem möchte ich die aktuellsten 5 Topics im Portal anzeigen

Verfasst: Mo 22.Aug, 2005 23:02
von oxpus
Kopiere doch den Code in der portal.php und portal_body.tpl und ändere nur das betreffende Forum in Deine gewünschte ID ab...

Verfasst: Di 23.Aug, 2005 07:22
von shadowrider
also die portal_body.tpl trau ich mir ja zu, aber die php?

ich habe mir das gerade mal angeschaut,
da sind doch sicher neue Namen für Variablen zu definieren (kann es ja nicht einfach doppelt machen?), zudem ist die Schleife zum durchlaufen mehrerer Foren überflüssig - ich ahne da zwar was, guck aber eher wie die Kuh vor'm neuen Tor

Verfasst: Di 23.Aug, 2005 08:22
von oxpus
Die durch $template zu übergebenden Namen sind das entscheidende. Hier wird ja ein Name für den Block angegeben, den Du nur ersetzen musst und in der Template-Datei ebenfalls.
In der regel reicht das schon. Wenn Du dann aber falsche oder mehrfach doppelte Daten erhälst, ist die Variable, bzw. das Array $fetchpost oder $recent oder wie das auch immer bei Dir in dem betreffenden Block heist, beim 2. Block einfach durchgängig in einen neuen Namen umzubenennen.

Verfasst: Mi 24.Aug, 2005 08:19
von shadowrider
hat funktioniert, konnte noch einiges entfernen damit die sql-Zugriffe nicht völlig den Rahmen sprengen...

bleiben (erstmal) zwei Probleme:
das Datumsformat will ich anders als Boardweit haben, wie muss ich abändern:

Code: Alles auswählen

$first_post_time = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);
und den Poster-Namen möchte ich nicht als Color-Name und Link sondern nur formatierten Text

Code: Alles auswählen

$topic_author = ( $row['user_id'] == ANONYMOUS ) ? ( ($row['username'] != '' ) ? $row['post_username']  . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $row['user_id']) . '" class="gensmall">' . $ta_style_color . ' </a>';

Verfasst: Mi 24.Aug, 2005 09:04
von oxpus
Das Datumsformat liegt hinter $board_config['default_dateformat']. Das musst Du ändern in z.B. "D.m.Y" oder eine andere Formatmaske. Auf http://www.php.net hast Du alle möglichen Parameter dafür aufgelistet.

Und bei einem nur formatierten Text für den Usernamen nimm

Code: Alles auswählen

$topic_author = ( $row['user_id'] == ANONYMOUS ) ? ( ($row['username'] != '' ) ? $row['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $row[username'];

Verfasst: Mi 24.Aug, 2005 15:15
von shadowrider
bei

Code: Alles auswählen

: $row[username'];
fehlte der Haken

Code: Alles auswählen

: $row['username'];
, sonst hat alles prima funktioniert

nun käme (wenn's denn geht) das I-Tüpfelchen: der immer wieder geliebte Scrolltext

die marquee - Formatierung muss ich ja offenbar bereits in der portal_body.php festlegen, denn meine Versuche in der tpl brachten nur als Ergebnis, das jedes einzelne Topic in einer eigenen Tabellenspalte läuft, aber nicht alle gemeinsam

sehe ich das richtig, wenn ja wo kommt es hin oder muss ich in der tpl anders vorgehen?