[GELÖST] Letzte Seite eines mehrseitigen Threads anspringen
Verfasst: 16.03.2009 23:46
Hallo,
jetz hab ich auch mal eine Frage.
Für das 2er hatte ich das eingebaut, vor einem guten Jahr hatte Seimon mir den entscheidenden Tipp gegeben, wie der Aufruf in der viewforum.php gemacht wird.
In der 2er sah das im Original so aus:
Die Modifkation:
Und ohne den Anker Sprung zur letzten Seite so:
Sooo...der Aufruf zum Füllen der Variable $view_topic_url in der viewforum.php in 3.0.4 sieht nun so aus:
Ich hab schon mal ein bisschen ausprobiert, mit $row['topic_last_post_id'] krieg ich die ID des letzten Posts in diesem Thread. Aber wie krieg ich das gebacken, damit $view_topic_url mir die letzte Seite ausgibt?
./edith sagt:
Da mir das keine Ruhe gelassen hat, habe ich es selbst gelöst.
Zusätzliche Funktion in functions_display.php:
Generieren der Template-Variable in viewforum.php:
Einbau in viewforum_body.html:
Ziel des Ganzen ist eine weitere Möglichkeit der Navigation im Forum. Ich habe ein Mouseover für das Ansteuern der Foren und innerhalb der Foren für die Themen eingebaut. So wie hier im Forum (Farbwechsel auf Gelb), bloss mit zusätzlicher Klickmöglichkeit zum Öffnen des Forums bzw. Themas. Damit kann ich nun den ersten Beitrag auf der letzten Seite direkt öffnen. Die anderen Möglichkeiten zum Öffnen eines Themas (Thema von vorne, Seite anwählen oder letzter Beitrag) bleiben davon unberührt.
Sinngemäß das Gleiche bei search.php und search_results.html eingebaut.
jetz hab ich auch mal eine Frage.

Für das 2er hatte ich das eingebaut, vor einem guten Jahr hatte Seimon mir den entscheidenden Tipp gegeben, wie der Aufruf in der viewforum.php gemacht wird.
In der 2er sah das im Original so aus:
Code: Alles auswählen
$view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");
Code: Alles auswählen
$view_topic_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'];
Code: Alles auswählen
$view_topic_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']);
Code: Alles auswählen
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . (($row['forum_id']) ? $row['forum_id'] : $forum_id) . '&t=' . $topic_id);
./edith sagt:
Da mir das keine Ruhe gelassen hat, habe ich es selbst gelöst.
Zusätzliche Funktion in functions_display.php:
Code: Alles auswählen
function topic_generate_lastpage($replies, $url)
{
global $config, $user;
// Make sure $per_page is a valid value
$per_page = ($config['posts_per_page'] <= 0) ? 1 : $config['posts_per_page'];
if (($replies + 1) > $per_page)
{
$total_pages = ceil(($replies + 1) / $per_page);
$starting_reply = ($total_pages * $per_page) - 15;
}else{
$starting_reply = 0;
}
return $starting_reply;
}
Code: Alles auswählen
'MY_LAST_PAGE' => $view_topic_url . '&start=' . topic_generate_lastpage($replies),
Die Template-Variable beinhaltet mit $view_topic_url die URL zum anzuklickenden Thread, es fehlt nur noch der erste Beitrag der letzten Seite (&start=<beitrags_nr). Diesen Wert ermittelt die neue Funktion, die die Gesamtanzahl der Beiträge übermittelt bekommt und damit die Nummer des ersten Beitrag der letzten Seite berechnet.<td class="row88" onclick="window.location.href='{topicrow.MY_LAST_PAGE}'>
Ziel des Ganzen ist eine weitere Möglichkeit der Navigation im Forum. Ich habe ein Mouseover für das Ansteuern der Foren und innerhalb der Foren für die Themen eingebaut. So wie hier im Forum (Farbwechsel auf Gelb), bloss mit zusätzlicher Klickmöglichkeit zum Öffnen des Forums bzw. Themas. Damit kann ich nun den ersten Beitrag auf der letzten Seite direkt öffnen. Die anderen Möglichkeiten zum Öffnen eines Themas (Thema von vorne, Seite anwählen oder letzter Beitrag) bleiben davon unberührt.
Sinngemäß das Gleiche bei search.php und search_results.html eingebaut.