Last Recent Topics erweitern

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Zinner
Mitglied
Beiträge: 2
Registriert: 02.09.2004 09:03

Last Recent Topics erweitern

Beitrag von Zinner »

Hallo zusammen..

ich habe vor kurzen in meinem Forum eine Erweiterung installiert, die mir die letzen X Topics per Marquee auf der Indexseite angibt. Das funktioniert auch alles wunderbar, nur würde ich da gerne eine Erweiterung hinzufügen.

Im moment werden da "Topictitel" "Poster" und "Datum+Uhrzeit" angezeigt.

Ich würde jetzt aber auch gerne noch zusätzlich die Kategorie haben, da mein Forum sehr verschachtelt sein wird.

Ich habe mal den Code angefügt, leider kenn ich mich mit MySql nicht so aus. Es reicht um Datenbanken anzulegen und Foren etc. auf die Datenbank einzustellen...

Code: Alles auswählen

// 
// Get The Data 
// 
$template->assign_vars(array(
	'MARQUEE_TOPIC' => str_replace("%s",$board_config['topics_on_index'],$lang['marquee_topic']) ) 
);

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, t.topic_type, t.topic_status, p.post_id, p.poster_id, 
	p.post_time, u.user_id, u.username, u.user_lastvisit 
	FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f, " . POSTS_TABLE . " p, " . USERS_TABLE . " u 
	WHERE t.forum_id IN " . $auth_view_forum_sql . " AND t.topic_id = p.topic_id 
	AND f.forum_id = t.forum_id 
	AND t.topic_status <> 2 
	AND p.post_id = t.topic_last_post_id 
	AND p.poster_id = u.user_id 
	ORDER BY t.topic_last_post_id DESC"; 

if ( !($result = $db->sql_query($sql)) ) 
{ 
	message_die(GENERAL_ERROR, 'Could not query recent posts marquee information', '', __LINE__, __FILE__, $sql); 
} 

if ($row = $db->sql_fetchrowset($result)) 
{ 
	$db->sql_freeresult($result); 
} 

if( count($row) <= $board_config['topics_on_index'] ) 
{ 
	$topics = count($row); 
} 
else 
{ 
	$topics = $board_config['topics_on_index']; 
} 

for($i = 0; $i < $topics; $i++) 
{ 
	$mar_title = $row[$i]["topic_title"]; 
	$mar_url = $phpbb_root_path . 'viewtopic.'.$phpEx.'?t='.$row[$i]["topic_id"]; 
	$mar_user = $row[$i]["username"]; 
	if ( $row[$i]["topic_status"] == TOPIC_LOCKED )
	{
		if ( $row[$i]["post_time"] > $row[$i]["user_lastvisit"] )
		{
			$pic = $images['folder_locked_new'];
		}
		else
		{
			$pic = $images['folder_locked'];
		}
	}
	else
	{
		if ( $row[$i]["topic_type"] == POST_GLOBAL_ANNOUNCE )
		{
			if ( $row[$i]["post_time"] > $row[$i]["user_lastvisit"] )
			{
				$pic = $images['folder_global_announce_new'];
			}
			else
			{
				$pic = $images['folder_global_announce'];
			}
		} 
		else if ( $row[$i]["topic_type"] == POST_ANNOUNCE )
		{
			if ( $row[$i]["post_time"] > $row[$i]["user_lastvisit"] )
			{
				$pic = $images['folder_announce_new'];
			}
			else
			{
				$pic = $images['folder_announce'];
			}
		} 
		else if ( $row[$i]["topic_type"] == POST_STICKY )
		{
			if ( $row[$i]["post_time"] > $row[$i]["user_lastvisit"] )
			{
				$pic = $images['folder_sticky_new'];
			}
			else
			{
			$pic = $images['folder_sticky'];
			}
		} 
		else { if ( $row[$i]["post_time"] > $userdata['user_lastvisit'] )
		{
			$pic = $images['folder_new']; }else{ $pic = $images['folder'];
		}
	}
}
$template->assign_block_vars('marqueerow', array( 
	'FOLD_URL' => $pic, 
	'TOPIC_TITLE' => $row[$i]["topic_title"], 
	'TOPIC_URL' => append_sid($phpbb_root_path . 'viewtopic.'.$phpEx.'?t='.$row[$i]["topic_id"]), 
	'USERNAME' => $row[$i]["username"], 
	'USER_PROF' => append_sid($phpbb_root_path . 'profile.'.$phpEx.'?mode=viewprofile&u='.$row[$i]["user_id"]), 
	'POST_DATE' => create_date($board_config['default_dateformat'], $row[$i]["post_time"], $board_config['board_timezone']))
	); 
} 
Ich habe gestern da auch schon was mit experimentiert, aber das ist wie die Nadel im Heuhaufen :( Man bekommt ja schon bei der obigen Abfrage die Forum ID, aber ich weiß nicht wie ich da jetzt den namen herbekomme.

Wäre super wenn mir da jemand helfen könnte.

Viele Grüsse

Stefan
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Um auch den Forennamen aufzulisten, bräuchtest du in der Select-Zeile nur f.forum_name einfügen und kannst es dann mit $row[$i]['forum_name'] ausgeben.
Zinner
Mitglied
Beiträge: 2
Registriert: 02.09.2004 09:03

Beitrag von Zinner »

Super, hat wunderbar geklappt...


vielen Dank!
Antworten

Zurück zu „phpBB 2.0: Mod Support“