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.
xxxMMxxx
Mitglied
Beiträge: 40
Registriert: 27.01.2009 14:37

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von xxxMMxxx »

Moin Moin -

nachdem ich lange vergeblich nach einer Lösung gesucht hatte, hab ich es dank diesem Thread geschafft, dass die Forenbeiträge ab sofort auf meiner html-Startseite angezeigt werden.
Besonderen Dank an 4seven für die ausführliche Beschreibung und die entsprechenden Codes!

Gruß MM
"Geld allein macht nicht glücklich. Es gehören auch noch Aktien, Gold und Grundstücke dazu."
http://www.investors-square.de/
http://www.chartanalysen-square.de/
Thunder198165409
Mitglied
Beiträge: 16
Registriert: 09.07.2009 23:39

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Thunder198165409 »

Hallöchen, ich würde das Thema auch gerne nochmal aufgreifen !

ich habe wie der eine oder andere auch das Problem mit den Umlauten in der lasttopic anzeige.


ich habe über Dreamweaver ne last_topics.php Datei erstellt, und den folgenden Inhalt eingefügt:

Code: Alles auswählen

<?php
    // ############         Edit below         ########################################
    $topic_length = '25';   // length of topic title
    $topic_limit = '11';   // limit of displayed topics
    $special_forums = '0';   // specify forums ('0' = no; '1' = yes)
    $forum_ids = '3,5,6,7';      // IDs of forums; separate them with a comma

    $config_path = '/';   // path to config.php
    $root_path = 'http://www.aion-illuminati.de/Forum/';      // link path
    // ############         Edit above         #######################################

    $path = dirname(__FILE__);
    include_once($path.$config_path .'config.php');
    mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
    mysql_select_db($dbname) OR die('Unable to select database.');

    // ############## output ##############
    echo '<table border="0" cellpadding="0" cellspacing="0" style="width: 100%" id="Table_DSF-Top5">
    <body text="#000000" link="#000000" vlink="#333333" alink="#333333">
			  <tr>
                <td style="width: 20%"><span class="small">
                                <strong>
                <td style="width: 20%"><span class="small"><strong>

                <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:9px"></font
                </strong></span></td>

             </tr>';
    // ############## output ##############

    $where_forums = ( $special_forums == '0' ) ? '' : 't.forum_id NOT IN ('. $forum_ids .') AND ';
    $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";
    $result = mysql_query($sql);
    if( !$result )
    {
       die('SQL Statement Error: '. mysql_error());
       exit();
    }

    $line = array();
    while( $row = mysql_fetch_array($result) )
    {
       $line[] = $row;
    }

    for( $i = 0; $i < count($line); $i++ )
    {
       $forum_id = $line[$i]['forum_id'];
       $forum_url = $root_path .'viewforum.php?f='. $forum_id;
       $topic_id = $line[$i]['topic_id'];
       $topic_url = $root_path .'viewtopic.php?t='. $topic_id;

       $topic_title = ( strlen($line[$i]['topic_title']) < $topic_length ) ? $line[$i]['topic_title'] : substr(stripslashes($line[$i]['topic_title']), 0, $topic_length) .'...';

       $topic_type =  ( $line[$i]['topic_type'] == '2' ) ? 'Announcement ': '';
       $topic_type .= ( $line[$i]['topic_type'] == '3' ) ? 'Global Announcement ': '';
       $topic_type .= ( $line[$i]['topic_type'] == '1' ) ? 'Sticky ': '';
       $topic_type .= ( $line[$i]['topic_vote'] ) ? 'Poll ': '';

       $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>';

       // ############## output ##############
       echo '<tr>
                <td style="width: 30%">
                <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $last_time .'</font></td>
                <td style="width: 70%"><a href="'. $topic_url .'" target="_blank">
                <font face="Verdana, Arial, Helvetica, sans-serif" style="font-size:11px">'. $topic_title .'</font></a></td>

            </tr>';

       // ############## output ##############
    }

    echo '</table>';
    mysql_close();
    ?>

dann habe ich auf meine Test index.php (http://www.aion-illuminati.de/index10.php) die last_topics.php includiert und optisch angepasst. Problem ist nun, das dort sämtliche Umlaute durch ein Fragezeichen in einem hochkantstehenden Viereck angezeigt werden. Die anzeige im Forum selber ist normal. Ich habe schon das meiste utf8 umstell gedöns versucht, hat nix gebracht. kann mir da jemand weiterhelfen ?
Wenn ich die Seite im IE betrachte besteht das selbe Problem, bis ich die Codierung z.b. auf "Westeuropäisch Windows oder iso" setze, dann wird alles normal angezeigt.

HP und Forum liegen auf dem selben Webspace und nutzen die gleiche Datenbank !

Mfg

Thunder198165409
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

ich habe wie der eine oder andere auch das Problem mit den Umlauten in der lasttopic anzeige.
sorry, aber ich hatte das problem noch nie :grin:

doch seis drum. wirklich sauber wird es in manchen fällen nur,
wenn man die php erst in eine html includiert und diese dann weiterreicht.

der unterschied wird hier ua. durch das original prosilver css layout definiert:

pure steuerdatei:
http://sekuro.se.funpic.de/phpbb3/last_topics_1.php

mit ordentlichem header versehene html (last_topics_1.php includiert)
http://sekuro.se.funpic.de/phpbb3/last_topics_1.html

wichtig: beide dateien müssen im foren-root liegen

im "normalfalle" kann man die datei natürlich direkt ansprechen und die anzeige kann auf einem anderen webspace sein.

aber, um alle fallstricke zu umgehen, kann man, wie in dem folgenden beispiel
in der html gleich den richtigen transitional-header mitgeben (dadurch ist das gleich trans. strict):

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de" xml:lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="styles/prosilver/theme/common.css" rel="stylesheet" type="text/css" />
<title>Last Topics</title>
</head>
<body>
<?php
include("last_topics_1.php");
?>
</body>
</html>
wenn das dann immer noch nicht geht, ist nicht das snippet das problem, sondern die space bzw. sql-codierung.

aber, selbst dafür gibt es eine lösung. check das aber erstmal :wink:
Thunder198165409
Mitglied
Beiträge: 16
Registriert: 09.07.2009 23:39

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von Thunder198165409 »

Danke für die Antwort, ich habe jetzt2 sachen probiert, zum einen habe ich den gesammten Code aus der php in eine html eingefügt und zum anderen habe ich die php so belassen und in eine html den Code den du geschrieben hast eingefügt und jeweils included.

sowohl bei dem einen als auch bei dem anderen sind die Umlaute jetzt weg, dafür erhalte ich im Content jetzt eine Query failed! Meldung.

zum vergleich wie mit Umlauten: http://www.aion-illuminati.de/index10.php
ohne Umlaute mit Fehlermeldung: http://www.aion-illuminati.de/index11.php
croxxx69
Mitglied
Beiträge: 258
Registriert: 13.10.2008 00:25
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von croxxx69 »

hi,

habe mir das ganze angeschaut und durchgelesen, doch weiss nicht genau wie ich es machen soll...

also das forum liegt auf http://www.kava.hr/Forum
include wollte ich auf meiner http://www.kava.hr/index.html einbinden...
doch weiss jetzt nicht genau ob es nur reicht wenn ich hier:

$path = dirname(__FILE__);
include_once($path.$config_path .'config.php');
mysql_connect($dbhost, $dbuser, $dbpasswd) OR die('Unable to select server.');
mysql_select_db($dbname) OR die('Unable to select database.');

meine daten vom mysql eintrage? oder wo muessen sie genau hin?
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

da muss garnichts eingetragen werden.

nur bis dahin angaben machen:

Code: Alles auswählen

// ############ Ende Vorgaben #######################################
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

Danke für die Antwort, ich habe jetzt2 sachen probiert, zum einen habe ich den gesammten Code aus der php in eine html eingefügt
das ist so nicht wirklich gemeint gewesen
sowohl bei dem einen als auch bei dem anderen sind die Umlaute jetzt weg, dafür erhalte ich im Content jetzt eine Query failed! Meldung.
was generiert den content? bzw. wie sieht die datei dazu aus?

und noch ein frage, wie bindest du den code in dein template ein?

nimm auch mal testweise meinen überarbeiteten code und teste ihn nach deiner überarbeitung (anpassung):
http://www.phpbb.de/support/pastebin.ph ... view&s=141

das hier

Code: Alles auswählen

#
// IDs der zugelassenen Foren (nur wenn Forumsanzeige = "1"); Trennung der IDs mit einem Komma
#
$forum_ids = '14,15,16';
#
arbeitet jetzt umgekehrt. alles, was sichtbar sein darf, hier eingeben.
croxxx69
Mitglied
Beiträge: 258
Registriert: 13.10.2008 00:25
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von croxxx69 »

hmmm... wo kann ich denn deinen code runterladen? hatte es von der ersten seite kopiert... wo liegen die neuren versionen?
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von 4seven »

die erste optimierung war "saschas optimierter code" (einfach mal in dem thread hier suchen)

die zweite optimierung "4sevens optimierter code" (2 posts drüber als pastebin)

ergebnis (mit in html includierter php):
http://sekuro.se.funpic.de/phpbb3/last_topics_1.html

die dazugehörige html findet sich nochmal ein paar posts drüber
http://www.phpbb.de/community/viewtopic ... 8#p1122718

und das hier ist noch in entwicklung (daher noch nicht freigegeben) :wink:
4seven hat geschrieben:- Layout ist jetzt komplett auf CSS-Basis
- Inzwischen kann auch der Post-Text dargestellt werden
- Eigene BBCode-Engine, daher unabhängig vom Board
- Standard-BBCodes werden immer angezeigt (incl. Code)
- Man kann bestimmen welche Custom-BBCodes im Post angezeigt werden sollen
- Nicht definierte Custom-BBCodes werden so angezeigt:
- [ externes Bild ] (mit alt/title Tag: "Nicht dargestellter BBCode")

- und natürlich [ externes Bild ]

Mal gucken, was man noch so machen kann :wink:

Mittels CSS und ein wenig Html-Kenntnissen dürfte man es perfekt an jedes Outfit anpassen können:

demo
http://sekuro.se.funpic.de/phpbb3/last_topics_2.html
croxxx69
Mitglied
Beiträge: 258
Registriert: 13.10.2008 00:25
Kontaktdaten:

Re: Einfache Anzeige der letzten Themen in Div-Box

Beitrag von croxxx69 »

hallo,

so langsam bekomme ich es auch hin ;-)

aber paar fragen noch:

- bei mir zeigen sich nicht die kroatischen zeichen im script... wie kann ich dies aendern?
- und wie kann man das frame weglassen und mit css es verschoenern? will frames nicht benutzen
Antworten

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