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.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

die datei muss in den foren-root.

beispiel für mein test-forum:

Code: Alles auswählen

// Relative Pfadangabe zur config.php 
$config_path = '/'; 

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!! 
$root_path = 'http://sekuro.se.funpic.de/phpbb3/'; 
fast alle tips und tricks stehen auch in diesem thread (bitte durchlesen).
und nimm "sascha's optimierten code". nicht die erstlings-version.
Benutzeravatar
Onassis
Mitglied
Beiträge: 180
Registriert: 09.07.2008 00:27

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Onassis »

Hallo an alle!

Ich lasse seit einiger Zeit die letzten Beiträge in einer Div-Box anzeigen.
Es klappt alles, sogar das Umlaute Problem konnte ich dank diesem thread lösen (speichern UTF8-ohne BOM).

Nun würde ich gerne auf einer größeren Seite mir nicht nur die Beitrags-Überschrift anzeigen lassen,
sondern den gesamten ersten Beitrag dieses threads (der komplette geschriebene Text).
Falls möglich sogar mehrere Beiträge desThemas untereinander.


Oder anders gesagt, eine Liste mit den letzten x Beiträgen (aber nicht nur den Beitrags-Betreff, sondern falls möglich den gesamten Beitrag).

Ich habe mir hier alles durchgelesen, aber trotzdem nicht rausgefunden, wie man das machen könnte.
Hat da jemand eine kleine hilfreiche Idee, wie man das hinbekommen könnte?

Vielen Dank und noch einen schönen 1. Weihnachtsfeiertag!

Onassis
Latza
Gesperrt
Beiträge: 531
Registriert: 05.05.2009 17:57

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Latza »

Bei mir will das nicht funktionieren. Ich hab den last_topics.php code auf der zweiten oder dritten seite (der in deutsch) erstellt und in den root geladen.
Dann hab ich das hier gemacht :
http://www.phpbb.de/community/viewtopic ... 52#p977752
Das hier :
<!-- INCLUDE last_topics.html -->
hab ich unter den header gemacht :

Code: Alles auswählen

<div id="wrapheader">
<div id="logodesc">
			<a class="logo" href="{U_INDEX}"><img src="{T_IMAGESET_PATH}/site-logo-{SITE_LOGO_RANDOM}.png" alt="Logo" title="Logo" /></span></a>
	</div>
</div>
<!-- INCLUDE last_topics.html -->
<br />
	<table class="tablebg" cellspacing="1" width="100%">
<tr>
<td class="row1" height="60px" width="73%">
			<p class="breadcrumbs"><a href="{U_INDEX}"><strong><img
style aktualisiert und cache geleert ... . aber es wird mir nichts angezeigt.
Edit:
Jetzt wird was angezeigt aber funktionieren tut es nicht :
http://fck-recorder.bplaced.net/
Zuletzt geändert von Latza am 26.12.2009 00:09, insgesamt 1-mal geändert.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

>>> http://www.phpbb.de/community/viewtopic ... 52#p977752
und genau die variante funktioniert nicht :wink:

nimm die klassische variante oder die anderen alternativen
Latza
Gesperrt
Beiträge: 531
Registriert: 05.05.2009 17:57

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Latza »

Schau mal mein edit vom letzten Post.
Nochmal zusammengefasst.
Das hier steht in der last_topics.php (liegt im root) :

Code: Alles auswählen

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

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

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

// 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 = '43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78';

// Relative Pfadangabe zur config.php
$config_path = '/';

// Absoluter Pfad des Forums auf dem Server, bitte eingeben !!!
$root_path = 'http://fck-recorder.bplaced.net/';



// ############ 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
?>
und das hier hab ich in die overall_header.html eingebaut :

Code: Alles auswählen

</script>
<link href="{T_THEME_PATH}/web/style.css" rel="stylesheet" type="text/css" media="screen, projection" />
</head>
<body class="{S_CONTENT_DIRECTION}">
<div class="outside">
<div class="top-left"></div><div class="top-center"></div><div class="top-right"></div>
<div class="inside">
<div class="notopgap">
<a name="top"></a>

<div id="wrapheader">
<div id="logodesc">
			<a class="logo" href="{U_INDEX}"><img src="{T_IMAGESET_PATH}/site-logo-{SITE_LOGO_RANDOM}.png" alt="Logo" title="Logo" /></span></a>
	</div>
</div>
<script type="text/javascript">
<!--
var iH = "300";
var iB = "600";
document.write('<iframe '
      + 'allowtransparency="yes" '
      + 'height="' + iH + '" '
      + 'width="' + iB + '" '
      + 'frameborder=0 '
      + 'src="last_topics.php">'
      + '</iframe>');
//-->
</script>
<br />
	<table class="tablebg" cellspacing="1" width="100%">
<tr>
<td class="row1" height="60px" width="73%">
Und das ist doch diese andere mögichkeit. Oder nicht ?
Funktionieren tut es aber immer noch nicht so wie ich es will (siehe edit in meinem letzten post).
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

les dich mal in ruhe durch den thread und nimm "sacha's optimierten code".
der code funktioniert 100%...
Latza
Gesperrt
Beiträge: 531
Registriert: 05.05.2009 17:57

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Latza »

Ich hab mich schon 2 mal durch die 19 seiten durchgelesen :roll: .
Saschas Code ist doch der hier auf seite 2/3 :
http://www.phpbb.de/community/viewtopic ... 59#p977859

Den hab ich doch :roll: .Du solltest vielleicht auch erstmal lesen was ich schreibe.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

dann gib dir mühe. bei mir und x anderen funktioniert es doch auch.

nimm einfach mal die 250 foren-id's raus und fang ganz einfach mit einer einzelnen foren-id an.
die foren-id's besagen nämlich, welche foren-id's nicht angezeigt werden (war wohl ein denkfehler beim beschriften) - bin mir aber nicht mehr sicher. teste es mal...

Code: Alles auswählen

// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
$forum_ids = '43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78';

Code: Alles auswählen

// Eingeschraenkte Forumsanzeige ('0' = Aus; '1' = Ein)
$special_forums = '1';
hier auch erstmal auf 0 belassen

wichtig bei solchen sachen: immer gaaanz einfach anfangen, sonst findet man seinen fehler nämlich nicht :wink:

hier meine last_topics:

pur als php
http://sekuro.se.funpic.de/phpbb3/last_topics_1.php

und formatiert als html
http://sekuro.se.funpic.de/phpbb3/last_topics_1.html
Latza
Gesperrt
Beiträge: 531
Registriert: 05.05.2009 17:57

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Latza »

Ok alle Ids entfernt und das andere auf 0 gesetzt. Style aktualisiert und cache geleert. Aber es hat sich nicht verändert im Board. Sogar die gleichen Themen.
Ich will sowas wie hier :
http://4seven.kilu.de/forum/phpbb3/
ganz oben. Sowas ist das hier doch ,o der?
So sieht es bei mir aus:
http://fck-recorder.bplaced.net/last_topics.php
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

http://fck-recorder.bplaced.net/last_topics.php

geht doch alles. er zeigt jetzt die letzten 5 themen aus allen foren an

Code: Alles auswählen

// Maximal angezeigte Beiträge
$topic_limit = '5';
das was du meinst ist noch im [dev]
http://sekuro.se.funpic.de/phpbb3/viewt ... ?f=8&t=307

siehe auch hier
http://www.phpbb.de/community/viewtopic ... 5#p1149435
Antworten

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