Seite 1 von 1

phpbb: Best Topics + Neue Beiträge anzeige

Verfasst: 24.11.2003 16:09
von Jason
hi,
ich habe in der viewtopic.php eine abfrage eingebaut die mir die besten themen(nach Views/replies/rating) aus einem bestimmten forum anzeigt nun wollte ich zusätzlich neben den titeln der themen das folder icon anzeigen lassen das wenn neue beiträge vorhanden sind in das neue beiträge folder icon wechselt.Das normale folder icon wird auch korrekt angezeigt aber wenn neue themen vorhanden sind wird nur der platzhalter angezeigt statt des neue beiträge icons :(

Hier mal der code der dafür sorgt das je nach status das folder/new folder icon angezeigt wird:

Code: Alles auswählen

 if ( $userdata['session_logged_in'] )
                {
                        if ( $bests[$i]['post_time'] > $userdata['user_lastvisit'] )
                        {
                                if ( !empty($tracking_topics) || !empty($tracking_forums) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
                                {
                                        $unread_topics = true;
                                        if ( !empty($tracking_topics[$best_topic_id]) )
                                        {
                                                if ( $tracking_topics[$best_topic_id] > $bests[$i]['post_time'] )
                                                {
                                                        $unread_topics = false;
                                                }
                                        }
                                        if ( !empty($tracking_forums[$best_forum_id]) )
                                        {
                                                if ( $tracking_forums[$best_forum_id] > $bests[$i]['post_time'] )
                                                {
                                                        $unread_topics = false;
                                        }
                                        }
                                        if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
                                        {
                                                if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $bests[$i]['post_time'] )
                                                {
                                                        $unread_topics = false;
                                        }
                                        }
                                        if ( $unread_topics )
                                        {
                                                $best_folder_image = $best_folder_new;
                                        $best_folder_alt = $lang['New_posts'];
                                                $best_newest_img = '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$best_topic_id&view=newest") . '"><img src="' . $images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
                                        }
                                        else
                                        {
                                                $best_folder_alt = ( $bests[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
                                                $best_folder_image = $folder;
                                        $best_folder_alt = $best_folder_alt;
                                        $best_newest_img = '';
                                        }
                                }
Hat jemand ne ahnung warum das nicht funktioniert?

Grüße Jason

Verfasst: 25.11.2003 10:29
von Acid
Wie sieht der entsprechende tpl Teil aus? Was wird denn als Pfad angezeigt, wenn du dir die Eigenschaften des Platzhalters anzeigen lässt?

Ich schiebs ma nach "MODs"..

Verfasst: 25.11.2003 22:28
von Jason
Also der template teil schaut so aus:

Code: Alles auswählen

<a href="{best_topics.BEST_TOPIC_FOLDER_IMG_URL}"><img src="{best_topics.BEST_TOPIC_FOLDER_IMG}" alt="{best_topics.BEST_L_TOPIC_FOLDER_ALT}" title="{best_topics.BEST_L_TOPIC_FOLDER_ALT}" /></a>
Als Pfad steht in den eigenschaften http://www.ddd.de also meine domain.

Ich glaube es liegt an diesem teil in der viewtopic.php:

Code: Alles auswählen

//
// Set a cookie for this topic
//
if ( $userdata['session_logged_in'] )
{
	$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
	$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();

	if ( !empty($tracking_topics[$topic_id]) && !empty($tracking_forums[$forum_id]) )
	{
		$topic_last_read = ( $tracking_topics[$topic_id] > $tracking_forums[$forum_id] ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
	}
	else if ( !empty($tracking_topics[$topic_id]) || !empty($tracking_forums[$forum_id]) )
	{
		$topic_last_read = ( !empty($tracking_topics[$topic_id]) ) ? $tracking_topics[$topic_id] : $tracking_forums[$forum_id];
	}
	else
	{
		$topic_last_read = $userdata['user_lastvisit'];
	}

	if ( count($tracking_topics) >= 150 && empty($tracking_topics[$topic_id]) )
	{
		asort($tracking_topics);
		unset($tracking_topics[key($tracking_topics)]);
	}

	$tracking_topics[$topic_id] = time();

	setcookie($board_config['cookie_name'] . '_t', serialize($tracking_topics), 0, $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
}
wenn ich das lösche gehts, aber dann wird kein cookie mehr gesetzt, kann man es irgendwie hinkriegen das es läuft ohne das ich diesen teil entfernen muss?

Grüße Jason

Verfasst: 30.11.2003 16:52
von Jason
Keiner ne idee wie ich das korrekt zum laufen bringe?

Jason

Verfasst: 01.12.2003 10:29
von Acid
Könntest du mal die viewtopic.php und viewtopic_body.tpl verlinken ..und noch die anderen dazugehörigen Änderungen posten (wenn noch mehr getan werden muss).