Seite 2 von 3

Verfasst: 14.03.2003 01:00
von Seether
hmm komisch, habe es jetzt noch mal getest, dachte eben es klappt, aber es ist recht merkwürdig. Er springt weder zum letzten Beitrag noch zum ersten ungelesenen....


S.

Verfasst: 14.03.2003 01:01
von SQRT
ja es springt zu dem "neuesten" Beitrag seit deinem letzten Besuch! :wink: das ist das Problem

Verfasst: 14.03.2003 01:08
von Seether
Wenn das so wäre, dann hätte ich das was ich suchte. Also wo ist das Problem?


S.

Verfasst: 14.03.2003 01:16
von SQRT
Es gibt 3 Möglichkeiten:
1. ab neuesten Beitrag seit dem letzten Beusch anzeigen
2. den neuesten Beitrag anzeigen
3. ab ersten ungelesenen Beitrag anzeigen

die dritte Möglichkeit ist am Effektivsten und Userfreundlichsten meiner Meinung nach :roll: und esperitox und ich dachten, dass du die dritte Möglichkeit suchst :wink: naja ehrlich gesagt wär ich auch daran interessiert :D

Verfasst: 14.03.2003 04:47
von esperitox
Hab mal was gebastelt es wird ein link in die viewtopic.php eingebunden der zum ersten ungelesenen post springt (und wenn kein ungelesener Beitrag vorhanden ist springts zum letzten beitrag im thema wobei man dann den Link auch ausblenden könnte falls ihr es net so haben wollt ;) )

viewtopic.php:

[suchen]

Code: Alles auswählen

//
// Send vars to template
//
davor einfügen:

Code: Alles auswählen

//
// Jump to first unread post
//
$sql = "SELECT post_id
        FROM " . POSTS_TABLE . "
        WHERE post_time >= " . $userdata['user_lastvisit'] . "
        AND poster_id <> " . $userdata['user_id'] . "
        AND topic_id = " . $topic_id . "
        ORDER BY post_time ASC
        LIMIT 1";
if ( !$result = $db->sql_query($sql) )
                {
                        message_die(GENERAL_ERROR, 'Could not get post id from posts table', '', __LINE__, __FILE__, $sql);
                }
$first_unread_post = $db->sql_fetchrow($result);

if ( !$first_unread_post['post_id'] == '' )
{
$unread_id = $first_unread_post['post_id'];
}
else
{
$unread_id = $forum_topic_data['topic_last_post_id'];
}
[suchen]

Code: Alles auswählen

$template->assign_vars(array(
    'FORUM_ID' => $forum_id,
    'FORUM_NAME' => $forum_name,
    'TOPIC_ID' => $topic_id,
[Danach einfügen]

Code: Alles auswählen

'FIRST_UNREAD_POST' => '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $unread_id . "#" . $unread_id) . '">Erster ungelesener Beitrag</a>',
viewtopic_body.tpl

Dort könnt ihr da wo ihr den link haben wollt einfach {FIRST_UNREAD_POST} einfügen :)

esperitox

Verfasst: 14.03.2003 12:57
von SQRT
kann man das auch irgendwie ins Viewforum verfrachten und statt "newest" "first-unread" einfügt? :roll:

Verfasst: 14.03.2003 15:48
von saerdnaer
um was gehts jetzt hier eigendlich... also das phpbb hat doch bereits eine zum ersten ungelesenem eintrag springen funktion...
benutzt doch einfach mal den [ externes Bild ] button vor den themen titeln der neuen beiträge... ihr müsst natürlich eingeloggt sein... allerdings springt diese funktion standartmäßig zum erstem ungelesenem beitrag seit dem login... um das zu ändern einfach mal folgenden hack installieren:
-> http://www.phpbb.de/viewtopic.php?t=11857

ah

Verfasst: 14.03.2003 21:45
von esperitox
Hast recht saerdnaer war mir garnicht aufgefallen ich dachte das springt auch zum Letzten Beitrag nicht zum letzten ungelesenen :roll:

esperitox

Das ist was...

Verfasst: 15.03.2003 03:31
von luky
esperitox hat geschrieben:Hab mal was gebastelt es wird ein link in die viewtopic.php eingebunden der zum ersten ungelesenen post springt (und wenn kein ungelesener Beitrag vorhanden ist springts zum letzten beitrag im thema wobei man dann den Link auch ausblenden könnte falls ihr es net so haben wollt ;) )

viewtopic.php:

[suchen]

Code: Alles auswählen

//
// Send vars to template
//
davor einfügen:

Code: Alles auswählen

//
// Jump to first unread post
//
$sql = "SELECT post_id
        FROM " . POSTS_TABLE . "
        WHERE post_time >= " . $userdata['user_lastvisit'] . "
        AND poster_id <> " . $userdata['user_id'] . "
        AND topic_id = " . $topic_id . "
        ORDER BY post_time ASC
        LIMIT 1";
if ( !$result = $db->sql_query($sql) )
                {
                        message_die(GENERAL_ERROR, 'Could not get post id from posts table', '', __LINE__, __FILE__, $sql);
                }
$first_unread_post = $db->sql_fetchrow($result);

if ( !$first_unread_post['post_id'] == '' )
{
$unread_id = $first_unread_post['post_id'];
}
else
{
$unread_id = $forum_topic_data['topic_last_post_id'];
}
[suchen]

Code: Alles auswählen

$template->assign_vars(array(
    'FORUM_ID' => $forum_id,
    'FORUM_NAME' => $forum_name,
    'TOPIC_ID' => $topic_id,
[Danach einfügen]

Code: Alles auswählen

'FIRST_UNREAD_POST' => '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $unread_id . "#" . $unread_id) . '">Erster ungelesener Beitrag</a>',
viewtopic_body.tpl

Dort könnt ihr da wo ihr den link haben wollt einfach {FIRST_UNREAD_POST} einfügen :)

esperitox
Danke esperitox! War nich für mich, aber ich habe ihn jetzt :P

Verfasst: 16.03.2003 15:05
von saerdnaer
@esperitox: ja der weiße macht das auch aber der orangene nicht... eigenlich ist doch dein hack oben dann hinfällig oder... die fuktion ist ja dann eigenlich schon im phpbb drinn...

ah