Einfache Anzeige der letzten Themen in Div-Box

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Fiessi
Mitglied
Beiträge: 237
Registriert: 12.05.2008 21:02
Kontaktdaten:

Beitrag von Fiessi »

sascha123 hat geschrieben:Habe es endlich geschafft! Einige Kommentarfehler wurden ebenfalls entfernt.

Der Aufbau sieht jetzt wie folgt aus:

Forumsname
User
Datum
Thema

Forumsname
User
Datum
Thema

.
.
.

Die Felder die ihr nicht braucht, könnt ihr einfach weglassen (siehe Kommentare). Ansonsten kann alles natürlich noch schön mit HTML und CSS formatiert werden.

Der Quellcode kann per include oder direkt in der jeweiligen Seite eingebunden werden.

Amen. :D



<?php
// ############ Anfang Festlegung der Vorgaben ########################################

// Laenge der angezeigten Themenueberschrift in Buchstaben
$topic_length = '20';

// Maximal angezeigte Beiträge
$topic_limit = '6';

// 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 = '';

// Relative Pfadangabe zur config.php
$config_path = 'ordner(optional)/phpBB3/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://www.deinehompage.de/weitere_Ordn ... al)/phpbb/';



// ############ 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 #############

echo '<div>';
// Forumsname und Link, bei Bedarf loeschen
echo '<p><a href="'. $forum_url .'" target="_blank">'. $line[$i]['forum_name'] .'</a><br />';
// User, Bei Bedarf loeschen
echo $last_url.'<br />';
// Datum, Bei Bedarf loeschen
echo $last_time.'<br />';
// Thema und Link, Bei Bedarf loeschen
echo '<a href="'. $topic_url .'" target="_blank">'. $topic_title .'</font></a></p>
</div>';

// ############## Ende Eigentliche Ausgabe ##############
}

mysql_close(); // Beendigung der Datenbankverbindung
?>

Könnte mir jemand sagen wo ich das einfügen muss damit es so aussieht
wie hier http://forum.fm-world.de/ ? Und wo finde ich die Forum id?
Fiessi
Mitglied
Beiträge: 237
Registriert: 12.05.2008 21:02
Kontaktdaten:

Beitrag von Fiessi »

Also ich habe eine last_topic.php erstellt mit Saschas code und gab auch die Internetadresse an!
Dann eine last_topics.html mit folgendem Inhalt, den ich in den template Ordner kopierte:

<html>
<head>
<title>Last Topics</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body">
<?php
include("last_topics.php");
?>
</body>
</html>

und dann noch folgenden code in die index_body.html, ebenfalls template Ordner:
<!-- INCLUDE last_topics.html -->


dann cache geleert aber es hat sich nichts verändert :(
könnte mir jemand sagen was ich da falsche mache?
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

"Echtes" PHP-Including ist aufgrund der PHP-Restriktionen im Template-Verzeichnis nicht möglich.
Es geht aber mit einem Trick (siehe einige Seiten vorher) der sogar (oh Wunder) xhtml 1.0 strict valide ist :wink:

Code: Alles auswählen

<html> 
<head> 
<title>Last Topics</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 
<body> 
<script type="text/javascript"> 
<!-- 
var iH = "400"; 
var iB = "600"; 
document.write('<iframe ' 
      + 'height="' + iH + '"' 
      + 'width="' + iB + '"' 
      + 'frameborder=0 ' 
      + 'src="last_topics.php">' 
      + '</iframe>'); 
//--> 
</script>
</body> 
</html>
und dann

Code: Alles auswählen

<!-- INCLUDE last_topics.html -->
wo immer du willst

Größe hier anpassen

Code: Alles auswählen

var iH = "400"; 
var iB = "600"; 
Zuletzt geändert von 4seven am 08.07.2008 23:49, insgesamt 3-mal geändert.
Fiessi
Mitglied
Beiträge: 237
Registriert: 12.05.2008 21:02
Kontaktdaten:

Beitrag von Fiessi »

1000xdanke von Nob :lol:
DennisS
Mitglied
Beiträge: 14
Registriert: 03.05.2008 16:43

Beitrag von DennisS »

Hi

habe das Script nun auch laufen
Mit Umlauten hat das Script aber noch Probleme. Es wird immer ein Fragezeichen angezeigt, statt ä, ü, ö .

Ist das änderbar?

danke schön
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

ja, ändere

Code: Alles auswählen

ä ü ö ß
in

Code: Alles auswählen

&auml; &uuml; &ouml; &szlig; 
Falls du allerdings die Ausgabe der letzten beiträge meinst, dann stimmt etwas mit der UTF-8-Kodierung deiner Seite nicht. Bei mir zeigt er alles normal.

siehe
http://sekuro.se.funpic.de/phpbb3/last_topics.html
DennisS
Mitglied
Beiträge: 14
Registriert: 03.05.2008 16:43

Beitrag von DennisS »

hi
ja es geht um die beiträge

aber im forum werden die umlaute sauber angezeigt.
einzig in der viewlastopicdatei nicht.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Falls du allerdings die Ausgabe der letzten beiträge meinst, dann stimmt etwas mit der UTF-8-Kodierung deiner (last_topic) Seite nicht. Bei mir zeigt er alles normal.

siehe
http://sekuro.se.funpic.de/phpbb3/last_topics.html
es gibt manche boards, da ist das so (weiß auch nicht genau warum)

1. möglichkeit: du könntest mal versuchen im (html oder php)-header deiner last_topic seite die uf-8 codierung reinzuschreiben,
damit quasie utf-8 zu erzwingen. dazu mal alles bis "schlussbemerkung" lesen.
http://blog.antikoerperchen.de/beitrag/ ... ntity.html

2.möglichkeit: nimm mal testweise den ur-code hier und berichte mal, ob es da auch so ist.
http://www.phpbb.de/viewtopic.php?p=977650#977650
DennisS
Mitglied
Beiträge: 14
Registriert: 03.05.2008 16:43

Beitrag von DennisS »

hi

danke schön aber leider keine besserung
weder beim urcode noch bei

Code: Alles auswählen

<?php  header("Content-Type: text/html; charset=utf-8"); ?>
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

hast du alle szenarien des info-links durchgespielt?

letzte möglichkeit > du hast deine last_topic php datei unter der falschen codierung abgespeichert (datei neu erstellen - code einkopieren > wichtig: notepad++ dazu nehmen > mit "utf-8 ohne BOM" abspeichern > hochladen)

wenn das alles nichts hilft, dann liegt es am space (s.o.) - ist leider bei manchen so.
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“