phpbb: Best Topics + Neue Beiträge anzeige

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Jason

phpbb: Best Topics + Neue Beiträge anzeige

Beitrag 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
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag 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"..
Jason

Beitrag 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
Jason

Beitrag von Jason »

Keiner ne idee wie ich das korrekt zum laufen bringe?

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

Beitrag 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).
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“