Seite 1 von 1

Zum letzten ungelesenen Beitrag in einem Thema?

Verfasst: Di 02.Aug, 2005 21:22
von Scotty
Zum letzten "ungelesenen" Beitrag in einem Thema? Ja gibt es da die Möglichkeit, kenn das aus dem VB und man hat mich das bei mir gefragt, ob ich so was nicht einbauen könnte, eine sinnvolle Sache wäre es ja.

Verfasst: Di 02.Aug, 2005 21:30
von oxpus
Der Link

Code: Alles auswählen

http://www.oxpus.de/viewtopic.php?t=XXX&view=newest
ist dafür zuständig, wobei XXX für die Topic-ID steht...
Dazu ist auch das orange Mini-Icon vor dem Topic-Titel da ;)

Verfasst: Di 02.Aug, 2005 21:37
von Scotty
Hmm, wie bau ich das bei mir am besten ein? Ich hab ja auch so einen Last Topic Title on Index bei mir eingebaut, da würde das passen.

Code: Alles auswählen

// Last Topic on Index BEGIN
								$sql = "SELECT t.topic_id, t.topic_title FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t WHERE p.post_id = " . $forum_data[$j]['forum_last_post_id'] . " AND t.topic_id = p.topic_id;";
								if ( !($result = $db->sql_query($sql)) )
								{
									message_die(GENERAL_ERROR, 'Could not select info from post/topic table', '', __LINE__, __FILE__, $sql);
								}

								$last_topic_data = $db->sql_fetchrow($result);
								$ltid = $last_topic_data['topic_id'];
								$lttitle = $last_topic_data['topic_title'];

								$db->sql_freeresult($result);

								$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
								$last_post = $last_post_time . '<br />';
								// append first 25 characters of topic title to last topic data
								if (strlen($lttitle) > 25)
								{
									$last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />';
								}
								else
								{
									$last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />';
								}

								$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

// Last Topic on Index END

Verfasst: Di 02.Aug, 2005 22:30
von Max
Hallo,


soll der Topictitel zum letzten Beitrag im Thread führen?
In der recent.php geht das so:

Code: Alles auswählen

finde:

$topic_url = append_sid("viewtopic.$phpEx?". POST_TOPIC_URL ."=$topic_id");


ersetze mit:

$topic_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $line[$i]['topic_last_post_id']). '#' . $line[$i]['topic_last_post_id'];
und wenn man den Topictitel in der viewforum.php auch so ändern will, geht das so:

Code: Alles auswählen

finde:

$view_topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id");

ersetze mit:

$view_topic_url = append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id'];
ist aber in der viewforum.php eher nicht so toll, aber man kann auch den Posternamen entsprechend ändern, so dass man mit Klick auf den Posternamen zum letzten Beitrag, statt auf sein Profil kommt. Das geht dann so:

Code: Alles auswählen

finde:

$topic_author = ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $topic_rowset[$i]['user_id']) . '">' : '';

ersetze mit:

$topic_author = ( $topic_rowset[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">' : '';




finde:

$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $topic_rowset[$i]['id2']) . '">' . $topic_rowset[$i]['user2'] . '</a>';

ersetze mit:

$last_post_author = ( $topic_rowset[$i]['id2'] == ANONYMOUS ) ? ( ($topic_rowset[$i]['post_username2'] != '' ) ? $topic_rowset[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $topic_rowset[$i]['topic_last_post_id']) . '#' . $topic_rowset[$i]['topic_last_post_id']  . '">' . $topic_rowset[$i]['user2'] . '</a>';	
Ich hoffe, damit etwas weitergeholfen zu haben.


Gruß Max

Verfasst: Di 02.Aug, 2005 22:41
von Scotty
[quote="Max - Di 02.Aug, 2005 22:30";p="40731"]soll der Topictitel zum letzten Beitrag im Thread führen?[/quote]Ja aber nur in der Foren übersicht, über den Last Topic Mod ;)…? Den Mod den ich bei mir eingebaut hab in der index.php hab ich oben gepostet, vielleicht kann jemand was damit anfangen?

Verfasst: Mi 03.Aug, 2005 01:45
von oxpus
Der Link zum letzten Beitrag in einem Topic wird in der Topicübersicht unter der Spalte "Letzte Beiträge" mit einem weissen Icon versehen.
Der Link zum ersten ungelesenen Beitrag ist in der selben Übersicht als oranges Icon neben (besser VOR) dem Topic Titel zu finden!

Verfasst: Mi 03.Aug, 2005 01:57
von Scotty
Ich will doch das ich zum ersten neusten ungelesen Beitrag in einem Topic über den Forenindex komme.

Hier hab ich ja (siehe oben) so einen MOD, der mir da auch den Titel des letzten Themas anzeigt, und genau wenn man da dann draufklickt soll eben zum ersten ungelesenen Beitrag gesprungen werden.

Daher die Frage, wie kann man das mit dem MOD machen?

Last Topic on Index 1.01a

Das ist bei mir in der index.php wo das sicher dann verändert/angepasst werden müsste:

Code: Alles auswählen

// Last Topic on Index BEGIN
								$sql = "SELECT t.topic_id, t.topic_title FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t WHERE p.post_id = " . $forum_data[$j]['forum_last_post_id'] . " AND t.topic_id = p.topic_id;";
								if ( !($result = $db->sql_query($sql)) )
								{
									message_die(GENERAL_ERROR, 'Could not select info from post/topic table', '', __LINE__, __FILE__, $sql);
								}

								$last_topic_data = $db->sql_fetchrow($result);
								$ltid = $last_topic_data['topic_id'];
								$lttitle = $last_topic_data['topic_title'];

								$db->sql_freeresult($result);

								$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
								$last_post = $last_post_time . '<br />';
								// append first 25 characters of topic title to last topic data
								if (strlen($lttitle) > 25)
								{
									$last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />';
								}
								else
								{
									$last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />';
								}

								$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? $lang['by'] . '&nbsp;' . ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : $lang['by'] . '&nbsp;' . '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';

// Last Topic on Index END
Weiß da jemand was ;) bzw. kann helfen?

Verfasst: Mi 03.Aug, 2005 07:28
von Max
[quote="Scotty - Mi 03.Aug, 2005 01:57";p="40762"]Ich will doch das ich zum ersten neusten ungelesen Beitrag in einem Topic über den Forenindex komme.
[/quote]
Und DAS ist ja noch ein Ticken mehr verlangt, als anfangs. Ich glaube, dass das höchstens der UPI2DB in Griff bekommt, da ist nämlich etwas mehr gefragt, als nur den jüngsten Beitrag zu verlinken.

ansonsten guck Dir mal meine Code-Fetzen mit Lösungsvorschlägen (obwohl für andere Bereiche) an und dann aus Deinem Code das hier:

Code: Alles auswählen

                        { 
                           $last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />'; 
                        } 
                        else 
                        { 
                           $last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />'; 
                        }



                        { 
                           $last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '...</a><br />'; 
                        } 
                        else 
                        { 
                           $last_post .= $lang['in'] . '&nbsp;' . '<a title="' . $lttitle . '" alt="' . $lttitle . '" href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$ltid") . '">' . substr($lttitle, 0, 25) . '</a><br />'; 
                        }
Und dann ist experimentieren gefragt.
Vermutlich wird das aber nicht klappen, da das in der index.php nicht so easy geht, wie in der viewforum.php



Gruß Max

Verfasst: Mi 03.Aug, 2005 10:30
von oxpus
Also vom Index auf den ersten neuen Beitrag zu kommen, ist so zunächst nicht möglich.
Auch wäre vermutlich die Abfrage hier nicht ganz so trivial, da ja in einem Forum in mehreren Topics neue Beiträge enthalten sein können.

Verfasst: Mi 03.Aug, 2005 10:45
von Scotty
Jo ;) werde das mal probieren ;). Aber noch was vielleicht kannst du da Helfen, will das schon in die rezent.php einbauen. Weißt du wie ich es da hinbekommen kann das ein Tooltipp Text angezeigt wird, wenn ich auf das Thema mit der maus geh (via HTML und “alt=“ geht’s hier ja nicht)?

[quote="oxpus - Mi 03.Aug, 2005 10:30";p="40774"]Auch wäre vermutlich die Abfrage hier nicht ganz so trivial, da ja in einem Forum in mehreren Topics neue Beiträge enthalten sein können.[/quote]
Na ja es wird aber immer nur einer auf der Indexseite angezeigt, unter Letzter Beitrag, ist es hier denn nicht genauso, auch das mit den gehe zum letzten neuen Beitrag im Topic?

Verfasst: Mi 03.Aug, 2005 11:59
von oxpus
Na ja es wird aber immer nur einer auf der Indexseite angezeigt, unter Letzter Beitrag, ist es hier denn nicht genauso, auch das mit den gehe zum letzten neuen Beitrag im Topic?
Nein, denn es wird der letzte Beitrag, nicht der erste neue Beitrag angezeigt!

Verfasst: Mi 03.Aug, 2005 12:13
von Scotty
[quote="oxpus - Mi 03.Aug, 2005 11:59";p="40784"]
Nein, denn es wird der letzte Beitrag, nicht der erste neue Beitrag angezeigt![/quote]
Aha na Ok, machte nur den Eindruck, da das bei mir oft nicht funktioniert hat und ich oft zu einem Beitrag vor den letzten Beitrag gelandet bin ;).

Aber noch was vielleicht kannst du da Helfen, will das in die rezent.php einbauen. Weißt du wie ich es da hinbekommen kann das ein Tooltipp Text angezeigt wird, wenn ich auf das Thema mit der maus geh (via HTML und “alt=“ geht’s hier ja nicht)?

Verfasst: Mi 03.Aug, 2005 17:44
von oxpus
In der recent.php ist doch schon das Icon drinnen...

Verfasst: Mi 03.Aug, 2005 17:50
von cback
Ist das net schon drin:

Bild vor den Posts drücken und fertig?? oder hab ich was missverstanden?


>CBACKs Vorschau Kommentar<

Ach kumma da... hier gibbet auch QuickReply dann hätte ich ja net oben müssn auf Antworten drücken. Naja zu spät.

Verfasst: Mi 03.Aug, 2005 17:52
von Scotty
[quote="oxpus - Mi 03.Aug, 2005 17:44";p="40814"]In der recent.php ist doch schon das Icon drinnen...[/quote]
Ja stimmt auch wieder, das diese Funktion sich hinter dem Bildchen versteckt war mir auch noch nicht bewusst, solang nutz ich das phpBB ja noch nicht ;), ok, dennoch danke :).

Sorry noch mal, ist halt alles noch Neuland für mich ;).