PHPBB Starseitenscript

Raven6299

Member
Hallo,

habe schon gesucht, aber leider nichts gefunden. Ich suche ein Script für das PHPbb 3, dass beim aufrufen des Forums die aktuellen Themen anzeigt (die letzten 20 z.B.). Also es sollen die Themen untereinander aufgelistet werden, in denen zuletzt gepostet wurde oder die zuletzt erstellt wurden. So zur übersicht, dass man gleich weiß wo zuletzt geantwortet wurde. Kein Portal, nur eine Startseite sozusagen.

Leider weiß ich nicht wie so ein Script heißt, daher finde ich vermutlich nichts.

Nachtrag: die Funktion "neue Themen" ist ja sogesehen schon da. Nur sollte die gleich auf der Startseite geschalten werden.
 
Last edited by a moderator:
Hy,

also das Portal ist eigentlich schon zuviel des guten :D
Mir würde eine simple Seite mit den aktuellen Themen reichen.
 
Ok, grad mal auf die Schnelle gecodet. Es gibt dir die letzten 20 Themen schön aufgelistet aus.

Es Entspricht aber nicht dem phpBB Standard, da es eben auf die Schnelle war, funktioniert aber denoch und bei Updates macht es auch keine Probleme

Erstelle 2 Datein. last_post.php und last_post.html
Die php kommt ins root und die html ins template verzeichniss

php inhalt

PHP:
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();

$sql = 'SELECT topic_title, forum_id, topic_id
	FROM ' . TOPICS_TABLE . '
	WHERE topic_status <> ' . ITEM_MOVED . '
		AND topic_approved = 1 
		AND topic_type = ' . POST_NORMAL . '
		AND topic_moved_id = 0
		' . $sql_where . '
	ORDER BY topic_time DESC';

$result = $db->sql_query_limit($sql, 20);

while( ($row = $db->sql_fetchrow($result)) && ($row['topic_title']) )
{

	if ( ($auth->acl_get('f_read', $row['forum_id'])) || ($row['forum_id'] == '0') )
	{
		$template->assign_block_vars('latest_topics', array(
			'TITLE'	 		=> $row['topic_title'],
			'FULL_TITLE'	=> censor_text($row['topic_title']),
			'U_VIEW_TOPIC'	=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&amp;t=' . $row['topic_id'])
		));
	}
}
$db->sql_freeresult($result);


page_header('Letzten Themen');


$template->set_filenames(array(
    'body' => 'last_post.html',
));


page_footer();

?>

html inhalt

HTML:
<!-- INCLUDE overall_header.html -->

<div class="forabg">
	<div class="inner">
		<span class="corners-top"><span></span></span>
		<ul class="topiclist">
			<li class="header"><dl><dt>{L_RECENT_NEWS}</dt></dl></li>
		</ul>
		<ul class="topiclist forums">
			<li><dl>
				<dd class="posts_portal" style="border-left:0px;width:100%">
				<table width="100%">
	
			
				<!-- IF .latest_topics -->
				<td class="row1" style="width: 33%;" valign="top">
					<span class="gensmall">
					<!-- BEGIN latest_topics -->
						<a href="{latest_topics.U_VIEW_TOPIC}" title="{latest_topics.FULL_TITLE}">{latest_topics.TITLE}</a><br />
					<!-- END latest_topics -->
					</span>
				</td>
				<!-- ENDIF -->
			</table>
				</dd>
			</dl></li>
		</ul>
		<span class="corners-bottom"><span></span></span>
	</div>
</div>
<!-- INCLUDE overall_footer.html -->
 
Grad gesehen, solltest du den Debug Modus anhaben, könnte es eine Fehlermeldung geben. Suche dann die Zeile 18

PHP:
' . $sql_where . '

und lösche es einfach
 
Es scheint als würde es tatsächlich klappen.....

ICH DANKE DIR ICH DANKE DIR!!!!
Habs schnell mal lokal installiert und es klappt.
 
Hallo,

habe noch ne kurze Frage.

Bekomme die Meldung { RECENT_NEWS } oberhalb der Beiträge.
Sollten da die News stehen? Habe mal einen Newsbeitrag angelegt, aber da tut sich nichts.

Könntest du mir noch nen Tipp geben, wie man das reparieren kann?

Die Zeile habe ich gelöscht.

Danke dir vielmals
 

Attachments

  • Meldung.JPG
    Meldung.JPG
    23.8 KB · Views: 85
Jo,

Finde

PHP:
page_header('Letzten Themen');

Davor fügst du ein

PHP:
$template->assign_vars(array(
				'L_RECENT_NEWS' => 'Letzte Themen',
			));
 
*g*

Aber wie gesagt, dies entspricht aber nicht dem phpBB3 Standard.
Macht aber bei Updates keine Probleme da das UpdateScript nicht auf diese 2 Datein zugreift
 
Aber wie gesagt, dies entspricht aber nicht dem phpBB3 Standard.

Unbeschadet davon ist es ein hübsches Skript. Wenn sich allerdings in einem gesonderten Bereich des Forums die Moderatoren unter sich abstimmen, so werden die Themen aus der Moderatorenecke mit angezeigt.
Normale Mitglieder sollten aber diese Themen nicht sehen.


Pfiffikus,
der anfragt, ob sich das mittels einer kleiner Modifikationen verbessern ließe
 
HiHo,

Sicher lässt sich sowas abstellen. vor der while schleife machst folgendes rein
PHP:
if ($data['forum_id'] != 14)
            {

und vor

PHP:
$db->sql_freeresult($result);

ein
PHP:
}

Die 14 natürlich durch die Foren ID ersetzen die nicht angezeigt werden soll.
Dies ist nicht getestet da ich erst heut Mittag dazu komme
 
Hab Dank für deine Ergänzung.


Pfiffikus,
der das zwischen den Feiertagen mal ausführlich testen und wahrscheinlich einsetzen wird
 
Back
Top