Seite 1 von 2
Beiträge auf Homepage anzeigen
Verfasst: 08.04.2008 14:06
von AngelOfDeath
Hallo Leute,
mit der alten Version PHPBB2 hatte ich einen Mod, mit dem ich die Beiträge eines Forums auf der Homepage anzeigen konnte.
Auf der Homepage habe ich also die Thread-Titel von einem Forum gesehen, das ich zuvor ausgewählt habe.
Gibt es sowas standardmäßig für PHPBB3 auch? Oder gibt es den gleichen Hack auch dafür? Was muss ich tun?
Wäre super, wenn mir jemand helfen könnte!?
Greetz
Verfasst: 08.04.2008 16:05
von 4seven
Verfasst: 08.04.2008 17:30
von Ibn-Sallam
Verfasst: 08.04.2008 17:37
von 4seven
Hallo Ibn-Sallam
Den Mod gibt es hier
http://startrekguide.com/community/f26t ... 1.0.0.html
Leider (bis heute) nur gegen die Zahlung von 5,00$ via PayPal
Dazu müsstest du dich bei phpbb.com anmelden und dann
Donate anklicken.
Manchmal funktioniert die Übersendung des Author-Codes nach der Bezahlung nicht,
dann musst du den Author evtl. per PN ansprechen und die Bezahl-ID für den PayPal-Vorgang nennen.
lg
4seven
lg
4seven
Verfasst: 08.04.2008 18:17
von AngelOfDeath
Hallo 4seven,
vielen Dank für deinen Tipp, bin auch schon einen großen Schritt weiter.
Jedoch hab ich noch eine Frage:
"$special_forums" soll doch angeben, ob nur gewünschte Foren angezeigt werden, oder?
In "$forum_ids" steht dann die ID der jeweiligen Foren.
Das habe ich - mMn - auch richtig angegeben, die Beiträge werden aber trotzdem nicht nur aus diesem einen Forum angezeigt.
Hier mein Code:
Code: Alles auswählen
<?php
// ############ Anfang Festlegung der Vorgaben ########################################
// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '60';
// Maximal angezeigte Beiträge
$topic_limit = '10';
// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';
// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '22';
// Relative Pfadangabe zur config.php
$config_path = '/';
// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://www.dpsg-speyer.org/board/';
// ############ Ende Vorgaben #######################################
//Ermittlung des aktuellen Server-Verzeichnisses für Einbindung config.php
$path = dirname(__FILE__);
// Einbinden der phpBB-Konfigurationsdatei und somit Ermittlung der MySQL-Zugangsdaten
include_once($path.$config_path .'config.php');
// Verbindungsaufbau mit Zugangsdaten aus config.php, Fehlermeldung bei Problemen
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Serververbindung fehlgeschlagen');
// Verbindung mit der phpBB-Datenbank herstellen
mysql_select_db($dbname) OR die('Datenbankverbindung fehlgeschlagen!');
//Abfrage ob Foreneinschraenkung gesetzt per Verzweigung und Uebergabe der moeglichen IDS an die Variable
$where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
//Definition der SQL-Abfrage
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username AS first_poster, u.user_id AS first_poster_id, u2.username AS last_poster, u2.user_id AS last_poster_id, p.post_username AS first_poster_name, p2.post_username AS last_poster_name, p2.post_time
FROM ". $table_prefix ."topics t, ". $table_prefix ."forums f, ". $table_prefix ."users u, ". $table_prefix ."posts p, ". $table_prefix ."posts p2, ". $table_prefix ."users u2
WHERE $where_forums t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $topic_limit";
//Durchfuehrung der SQL-Abfrage und Ergebnisuebergabe an $result
$result = mysql_query($sql);
// Wenn Abfrafge fehlgeschlagen = Fehlermeldung
if( !$result )
{
die('SQL-Abfrage fehlgeschlagen!: '. mysql_error());
exit();
}
//Definition Array für Aufnahme der Abfragedaten
$line = array();
// Uebergabe der Daten bis zum letzten Datensatz an Array per Schleife
while( $row = mysql_fetch_array($result) )
{
$line[] = $row;
}
// Strukturiertes Auslesen des Arrays und Variablenuebergabe
for( $i = 0; $i < count($line); $i++ )
{
$forum_id = $line[$i]['forum_id']; //Forums-ID
$forum_url = $root_path .'viewforum.php?f='. $forum_id; //Forums-Link
$topic_id = $line[$i]['topic_id']; //Themen-ID
$topic_url = $root_path .'viewtopic.php?t='. $topic_id; //Themen-Link
// Ausgabeformat der Beitragsueberschrift (Thema)
$topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';
// Themenklassifizierung
$topic_type = ( $line[$i]['topic_type'] == '2' ) ? 'Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Globaler Beitrag ': '';
$topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Kritischer Beitrag ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? 'Abstimmung ': '';
$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];
$first_time = date('d.m.Y', $line[$i]['topic_time']);
$first_author = ( $line[$i]['first_poster_id'] != '-1' ) ? '<a href="'. $root_path .'profile.php?mode=viewprofile&u='. $line[$i]['first_poster_id'] .'" target="_blank">'. $line[$i]['first_poster'] .'</a>' : ( ($line[$i]['first_poster_name'] != '' ) ? $line[$i]['first_poster_name'] : 'guest' );
$last_time = date('d.m.Y', $line[$i]['post_time']);
$last_author = ( $line[$i]['last_poster_id'] != '-1' ) ? $line[$i]['last_poster'] : ( ($line[$i]['last_poster_name'] != '' ) ? $line[$i]['last_poster_name'] : 'guest' );
$last_url = '<a href="'. $root_path .'viewtopic.php?p='. $line[$i]['topic_last_post_id'] .'#'. $line[$i]['topic_last_post_id'] .'" target="_blank">'. $last_author .'</a>';
// ############## Eigentliche Ausgabe der Beitraege #############
// Thema und Link, Bei Bedarf loeschen
echo '<li><a href="'. $topic_url .'" target="_blank">'. $last_time. ' - ' . $topic_title .'</a></li>';
// ############## Ende Eigentliche Ausgabe ##############
}
mysql_close(); // Beendigung der Datenbankverbindung
?>
Kannst du mir sagen, was ich falsch gemacht habe?
Greetz
Verfasst: 08.04.2008 18:22
von 4seven
.........
Verfasst: 08.04.2008 18:40
von AngelOfDeath
Ahja. Okay, dankeschön, das habe ich nun verstanden.
Gibt es denn aber auch die Möglichkeit sich lediglich die neuesten Beiträge aus einem gewissen Forum anzeigen zu lassen??
Auf jeden Fall dir schon mal vielen Dank für deine Hilfe so weit!
Greetz
Verfasst: 08.04.2008 18:45
von 4seven
Ja, klar. Hier trägst du die gewünschten Foren-IDs ein
$forum_ids = '5,7,12,23'; // IDs of forums; separate them with a comma[/b]
Die ID erfährst du, wenn du mit der Maus über einen Forenlink gehst und die Statuszeile beobachtest.
Das Forum hier z.B >
phpBB 3.0: MOD Suche/Anfragen = http : / / www .phpbb.de/viewforum.php?f=87
gruß
4seven
Verfasst: 08.04.2008 18:46
von AngelOfDeath
So richtig funktioniert das aber auch nicht. Habe jetzt mal folgendes eingetragen:
Code: Alles auswählen
// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '0';
// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '1,2,3';
Sehe aber trotzdem auch Beiträge aus den Foren mit den IDs 12 und 13, die noch dazu eigentlich geschützt sind!?!?
Hast du eine Erklärung dafür?
Greetz
Verfasst: 08.04.2008 18:48
von AngelOfDeath
4seven hat geschrieben:Ja, klar. Hier trägst du die gewünschten Foren-IDs ein
$forum_ids = '5,7,12,23'; // IDs of forums; separate them with a comma[/b]
Die ID erfährst du, wenn du mit der Maus über einen Forenlink gehst und die Statuszeile beobachtest.
Das Forum hier z.B >
phpBB 3.0: MOD Suche/Anfragen = http : / / www .phpbb.de/viewforum.php?f=87
gruß
4seven
Dem ist das prinzipiell egal, was ich da eintrage.
Momentan steht nur die ID "22" drin, aber er zeigt mir trotzdem einfach mal alles an....komisch
Greetz