Ungelesene Beiträge hervorheben
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Ungelesene Beiträge hervorheben
Hallo allerseits!
Ich hab in meinem aktuellen 3.1.3 auch das Board3-Portal drin. Dort gibt es am rechten Rand oben die persönliche Box mit der Anzahl ungelesener Beiträge in Klammern.
Den gleichen Ausdruck nutze ich daher auch oben in der Leiste mit "Schnellzugriff" usw. Innerhalb des Portals steht dann dort auch schön "Ungelesene Beiträge (3)". Wechsel ich aber in den Forenindex so wird daraus wieder "nur" ein "Ungelesen Beiträge" - ohne die Anzahl in Klammern.
Ich hätte gerne diese Anzahl auch im Forenindex immer aktuell mit Anzahl in Klammern. Oder anderweitig kenntlich gemacht, dass noch ungelesene Beiträge vorhanden sind.
Wie kann ich dies bewerkstelligen?
Ich hab in meinem aktuellen 3.1.3 auch das Board3-Portal drin. Dort gibt es am rechten Rand oben die persönliche Box mit der Anzahl ungelesener Beiträge in Klammern.
Den gleichen Ausdruck nutze ich daher auch oben in der Leiste mit "Schnellzugriff" usw. Innerhalb des Portals steht dann dort auch schön "Ungelesene Beiträge (3)". Wechsel ich aber in den Forenindex so wird daraus wieder "nur" ein "Ungelesen Beiträge" - ohne die Anzahl in Klammern.
Ich hätte gerne diese Anzahl auch im Forenindex immer aktuell mit Anzahl in Klammern. Oder anderweitig kenntlich gemacht, dass noch ungelesene Beiträge vorhanden sind.
Wie kann ich dies bewerkstelligen?
Re: Ungelesene Beiträge hervorheben
Hallo
Lies dir mal dieses Thema durch: Anzahl ungelesener Beiträge, ob dies bei 3.1.3 auch funktioniert kann ich dir nicht sagen.
Lies dir mal dieses Thema durch: Anzahl ungelesener Beiträge, ob dies bei 3.1.3 auch funktioniert kann ich dir nicht sagen.
Re: Ungelesene Beiträge hervorheben
Wenn die Codezeilen im Beitrag komplett sind, dann könnte ich das mal versuchen. Aber wenn nicht... Die Downloads und Links auf der ersten Seite sind leider down.
IIm Moment habe ich in der navbar_header.html einen Eintrag analog dem des Portals gemacht. Dort wirds wie gesagt auch im Header angezoegt - nur im Index halt leider nicht:
IIm Moment habe ich in der navbar_header.html einen Eintrag analog dem des Portals gemacht. Dort wirds wie gesagt auch im Header angezoegt - nur im Index halt leider nicht:
Code: Alles auswählen
<!-- IF S_LOAD_UNREADS --><li class="small-icon icon-bump"><a href="{U_SEARCH_UNREAD}" role="menuitem">{L_UNREAD_POSTS}</a></li><!-- ENDIF -->
Re: Ungelesene Beiträge hervorheben
Im verlinkten Beitrag sind alle Info´s die du brauchst.
Im Portal wird dir deshalb in Klammern die ungelesenen Beiträge angezeigt, weil es im Portal selbst eingebaut ist und die
Dort wiederum ist die
Im Portal wird dir deshalb in Klammern die ungelesenen Beiträge angezeigt, weil es im Portal selbst eingebaut ist und die
overall_header.html
per include eingebunden ist.Dort wiederum ist die
navbar_header.html
per include eingebunden.Re: Ungelesene Beiträge hervorheben
Okay, habe jetzt den Code von hier https://www.phpbb.com/community/viewtop ... &t=2002265 genommen (ist vielleicht sogar identisch - nur der aus Beitrag 2 für die functions.php). Scheint zu klappen. Werde es mal beobachten...
Danke jedenfalls für den Tipp!
Danke jedenfalls für den Tipp!

Re: Ungelesene Beiträge hervorheben
Zu früh gefreut. Admins und Mods können noch einloggen - beim "normalen" Nutzer kommt dann nur folgende Meldung:
Ich hab den Code erstmal wieder aus der functions.php rausgenommen.
Hat jemand einen Tipp, wie ich es doch wieder zum Laufen bekomme?!
Hier nochmal der Code, den ich von der erwähnten Seite eingefügt habe:
Code: Alles auswählen
Allgemeiner Fehler
SQL ERROR [ mysql4 ]
Unknown column 't.topic_approved' in 'where clause' [1054]
Hat jemand einen Tipp, wie ich es doch wieder zum Laufen bekomme?!
Hier nochmal der Code, den ich von der erwähnten Seite eingefügt habe:
Code: Alles auswählen
//
// + new posts since last visit & you post number
//
if ($user->data['is_registered'])
{
$ex_fid_ary = array_unique(array_merge(array_keys($auth->acl_getf('!f_read', true)), array_keys($auth->acl_getf('!f_search', true))));
if ($auth->acl_get('m_approve'))
{
$m_approve_fid_ary = array(-1);
$m_approve_fid_sql = '';
}
else if ($auth->acl_getf_global('m_approve'))
{
$m_approve_fid_ary = array_diff(array_keys($auth->acl_getf('!m_approve', true)), $ex_fid_ary);
$m_approve_fid_sql = ' AND (p.post_approved = 1' . ((sizeof($m_approve_fid_ary)) ? ' OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) : '') . ')';
}
else
{
$m_approve_fid_ary = array();
$m_approve_fid_sql = ' AND p.post_approved = 1';
}
$sql = 'SELECT COUNT(distinct t.topic_id) as total
FROM ' . TOPICS_TABLE . ' t
WHERE t.topic_last_post_time > ' . $user->data['user_lastvisit'] . '
AND t.topic_moved_id = 0
' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . '
' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '');
$result = $db->sql_query($sql);
$new_posts_count = (int) $db->sql_fetchfield('total');
// your post number
$sql = "SELECT user_posts
FROM " . USERS_TABLE . "
WHERE user_id = " . $user->data['user_id'];
$result = $db->sql_query($sql);
$you_posts_count = (int) $db->sql_fetchfield('user_posts');
// unread posts
$sql_where = 'AND t.topic_moved_id = 0
' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . '
' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : '');
$unread_list = array();
$unread_list = get_unread_topics($user->data['user_id'], $sql_where, 'ORDER BY t.topic_id DESC');
if (!empty($unread_list))
{
$sql = 'SELECT COUNT(distinct t.topic_id) as total
FROM ' . TOPICS_TABLE . ' t
WHERE ' . $db->sql_in_set('t.topic_id', array_keys($unread_list));
$result = $db->sql_query($sql);
$unread_posts_count = (int) $db->sql_fetchfield('total');
}
else
{
$unread_posts_count = 0;
}
$template->assign_vars(array(
'L_NEW_POSTS' => $user->lang['SEARCH_NEW'] . ' (' . $new_posts_count . ')',
'L_UNREAD_POSTS'=> $user->lang['SEARCH_UNREAD'] . ' (' . $unread_posts_count . ')',
'L_SELF_POSTS' => $user->lang['SEARCH_SELF'] . ' (' . $you_posts_count . ')',
));
}
//
// - new posts since last visit & you post number
//
- Talk19zehn
- Ehemaliges Teammitglied
- Beiträge: 5016
- Registriert: 08.06.2009 12:03
Re: Ungelesene Beiträge hervorheben
Hello, auch meine Versuche, die Anzahl auszugeben schlugen fehl. Ansatzweise gab es in den "ersten 3.1er-Stunden" diese Extension von Pico88 -> Update to 3.1.0-alpha, die ihren Ursprung in der Modifikation "phpBB-Unread-Posts-Counter" hat:
https://github.com/Pico/phpBB-Unread-Posts-Counter
Sie ist nicht kompatibel mit der z.Z. gültigen phpBB-Version und augenscheinlich demnach leider unfertig, ist aktuell nicht anwendbar.
Die einzige Hoffnung, die ich hätte, dass sich ein Extensionschreiber ggf. den Dingen auf GitHub (vgl. Link) annimmt oder eine eigene Extension schreibt.
Ob sie, die o.g. EXT für 3.1.0-alpha, Anhaltspunkte liefern kann, ist für mich zumindest fraglich. Seit welcher Version die Datenbankabfragen, den genannten Fehler liefern, habe ich nicht herausgefunden. Schön wäre es, wenn die Anzahl (Zusatz-Info) ausgegeben werden könnte. Inwieweit jedoch Resourcen bei den rechnerischen Datenbankabfragen verbraucht werden, konnte ich obendrein nicht testen. Ein motivierter phpBBler wird sich doch finden lassen, der uns weiterhilft. Ich weiß, es ist jetzt kein Trost, doch die Hoffnung stirbt zuletzt.
Grüße
https://github.com/Pico/phpBB-Unread-Posts-Counter
Sie ist nicht kompatibel mit der z.Z. gültigen phpBB-Version und augenscheinlich demnach leider unfertig, ist aktuell nicht anwendbar.
Die einzige Hoffnung, die ich hätte, dass sich ein Extensionschreiber ggf. den Dingen auf GitHub (vgl. Link) annimmt oder eine eigene Extension schreibt.
Ob sie, die o.g. EXT für 3.1.0-alpha, Anhaltspunkte liefern kann, ist für mich zumindest fraglich. Seit welcher Version die Datenbankabfragen, den genannten Fehler liefern, habe ich nicht herausgefunden. Schön wäre es, wenn die Anzahl (Zusatz-Info) ausgegeben werden könnte. Inwieweit jedoch Resourcen bei den rechnerischen Datenbankabfragen verbraucht werden, konnte ich obendrein nicht testen. Ein motivierter phpBBler wird sich doch finden lassen, der uns weiterhilft. Ich weiß, es ist jetzt kein Trost, doch die Hoffnung stirbt zuletzt.
Grüße
Zuletzt geändert von Talk19zehn am 05.03.2015 13:32, insgesamt 1-mal geändert.
Adventereigniskalender für phpBB 3.3.x,
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Re: Ungelesene Beiträge hervorheben
Danke für die Info!
Ist alles nicht so lebenswichtig - aber schade allemal, weil es halt nachgefragt wird und im Board3-Portal auch funktioniert (inkl. navbar_header).
Wenn das und die Sache mit den URL/IMG-Prompts (siehe https://phpbb.de/community/viewtopic.php?f=151&t=229248 oder hier https://www.phpbb.com/community/viewtop ... &t=2279046 ) wieder klappen würde, hätte ich so ziemlich meinen Stand von 3.0.12 wieder (alles was dann noch fehlt ist bereits in Arbeit oder ich brauch es eh nicht mehr).

Ist alles nicht so lebenswichtig - aber schade allemal, weil es halt nachgefragt wird und im Board3-Portal auch funktioniert (inkl. navbar_header).
Wenn das und die Sache mit den URL/IMG-Prompts (siehe https://phpbb.de/community/viewtopic.php?f=151&t=229248 oder hier https://www.phpbb.com/community/viewtop ... &t=2279046 ) wieder klappen würde, hätte ich so ziemlich meinen Stand von 3.0.12 wieder (alles was dann noch fehlt ist bereits in Arbeit oder ich brauch es eh nicht mehr).
- Talk19zehn
- Ehemaliges Teammitglied
- Beiträge: 5016
- Registriert: 08.06.2009 12:03
Re: Ungelesene Beiträge hervorheben
Hi, klar das Portal liefet eine Zusatz-Info, die man meiner Meinung nach durchaus im Standard aufnehmen kann und evtl. via ACP zuschalten könnte. Eine Extension würde entfallen. Das wäre doch vornehm, ein echter Service.
Von Wolfsblvt gibt es einer EXT-Alternative, die zumindest farbliche Hervorhebungen vornimmt. Ist meines Erachtens jedoch nicht grundsätzlich vergleichbar, - ist eben anders: viewtopic.php?f=149&t=233216
LG
Edit: 06.03.2015 - 14:26
Hi, wintstar hatte mich freundlicherweise darauf hingewiesen, dass die Modifikation von Miriam
Selbstverständlich sind neue Strukturen und Vorgehensweisen in den HTML-Datein, die sich in 3.1. änderten, dabei zu beachten. Anstatt der index_body.html nutzten wir die navbar_header.html.
Zunächst hatten wir auch Änderungen vermutet, die bzgl.
Aber wie gesagt, ob der manuelle Einbau irgendwann versagt, da unerlaubtes Vorgehen in 3.1.x oder die Modifikation in einer EXTENSION besser grundsätzlich aufgenommen werden sollte kann ich nicht abschließend beurteilen. Das könnte Miriam oder evtl. ein Extensionenschreiber u.U. ja noch regeln.
Von daher jener Tipp nur am Rande(!!!).
Leider ist momentan (heute) ihre tolle Website down / nicht erreichbar...
viewtopic.php?f=87&t=226280
Ich dachte mir, besser eine Info als gar keine Info hier zu posten. Dank auch an wintstar für den Hinweis, den wir ausgiebig gestern gemeinsam testeten!
Grüße
Edit: 07.03.2015, 08:50
Link zu ihrer Modifikation: http://mymods.lifestyle-dream.de/viewtopic.php?t=66
LG

Von Wolfsblvt gibt es einer EXT-Alternative, die zumindest farbliche Hervorhebungen vornimmt. Ist meines Erachtens jedoch nicht grundsätzlich vergleichbar, - ist eben anders: viewtopic.php?f=149&t=233216
LG
Edit: 06.03.2015 - 14:26
Hi, wintstar hatte mich freundlicherweise darauf hingewiesen, dass die Modifikation von Miriam
Show unread post count on index
augenscheinlich noch immer funktionieren kann. Klar, eine Modifikation gibt es in 3.1.x nicht mehr. Man muss also händisch vorgehen und das Teilchen als Snippet verstehen. Erlaubt ist dies jedoch (wohl) nicht in der neuen 3.1.er-Welt. Verbaut haben wir das ganze dann doch testweise (ich hatte die Modifikation noch auf meiner Festplatte), sprich ich habe sie trotz Statuten wie ein Snippet behandelt. 
Zunächst hatten wir auch Änderungen vermutet, die bzgl.
approved
ggf. in der Grundversion ihrer Modifikation in Frage kommen könnten. Das hatte sich nicht bestätigt. Die Tests waren in meinem Falle funktionstüchtig, wenn ich nur die Grundversion verbaute. 
Aber wie gesagt, ob der manuelle Einbau irgendwann versagt, da unerlaubtes Vorgehen in 3.1.x oder die Modifikation in einer EXTENSION besser grundsätzlich aufgenommen werden sollte kann ich nicht abschließend beurteilen. Das könnte Miriam oder evtl. ein Extensionenschreiber u.U. ja noch regeln.

Leider ist momentan (heute) ihre tolle Website down / nicht erreichbar...

viewtopic.php?f=87&t=226280
Ich dachte mir, besser eine Info als gar keine Info hier zu posten. Dank auch an wintstar für den Hinweis, den wir ausgiebig gestern gemeinsam testeten!
Grüße
Edit: 07.03.2015, 08:50
Link zu ihrer Modifikation: http://mymods.lifestyle-dream.de/viewtopic.php?t=66
LG
Zuletzt geändert von Talk19zehn am 07.03.2015 08:55, insgesamt 1-mal geändert.
Adventereigniskalender für phpBB 3.3.x,
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
Meine persönliche Meinung im Jahr 2024: Im Zenit seiner Popularität wirkt KI zunächst wie eine Blaupause und lässt sich aufgrund der Vielschichtigkeit nicht auf eine einzige Botschaft reduzieren. Präteritum, Perfekt, Präsens, Futur & Plusquamperfekt werden nicht fehlerfrei genutzt, gar missverstanden.
-
- Gesperrt
- Beiträge: 1999
- Registriert: 08.02.2009 22:58
Re: Ungelesene Beiträge hervorheben
@Digidani,Digidani hat geschrieben:Zu früh gefreut. Admins und Mods können noch einloggen - beim "normalen" Nutzer kommt dann nur folgende Meldung:
Ich hab den Code erstmal wieder aus der functions.php rausgenommen.Code: Alles auswählen
Allgemeiner Fehler SQL ERROR [ mysql4 ] Unknown column 't.topic_approved' in 'where clause' [1054]
Hat jemand einen Tipp, wie ich es doch wieder zum Laufen bekomme?!
Hier nochmal der Code, den ich von der erwähnten Seite eingefügt habe:
Code: Alles auswählen
// // + new posts since last visit & you post number // if ($user->data['is_registered']) { $ex_fid_ary = array_unique(array_merge(array_keys($auth->acl_getf('!f_read', true)), array_keys($auth->acl_getf('!f_search', true)))); if ($auth->acl_get('m_approve')) { $m_approve_fid_ary = array(-1); $m_approve_fid_sql = ''; } else if ($auth->acl_getf_global('m_approve')) { $m_approve_fid_ary = array_diff(array_keys($auth->acl_getf('!m_approve', true)), $ex_fid_ary); $m_approve_fid_sql = ' AND (p.post_approved = 1' . ((sizeof($m_approve_fid_ary)) ? ' OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) : '') . ')'; } else { $m_approve_fid_ary = array(); $m_approve_fid_sql = ' AND p.post_approved = 1'; } $sql = 'SELECT COUNT(distinct t.topic_id) as total FROM ' . TOPICS_TABLE . ' t WHERE t.topic_last_post_time > ' . $user->data['user_lastvisit'] . ' AND t.topic_moved_id = 0 ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); $result = $db->sql_query($sql); $new_posts_count = (int) $db->sql_fetchfield('total'); // your post number $sql = "SELECT user_posts FROM " . USERS_TABLE . " WHERE user_id = " . $user->data['user_id']; $result = $db->sql_query($sql); $you_posts_count = (int) $db->sql_fetchfield('user_posts'); // unread posts $sql_where = 'AND t.topic_moved_id = 0 ' . str_replace(array('p.', 'post_'), array('t.', 'topic_'), $m_approve_fid_sql) . ' ' . ((sizeof($ex_fid_ary)) ? 'AND ' . $db->sql_in_set('t.forum_id', $ex_fid_ary, true) : ''); $unread_list = array(); $unread_list = get_unread_topics($user->data['user_id'], $sql_where, 'ORDER BY t.topic_id DESC'); if (!empty($unread_list)) { $sql = 'SELECT COUNT(distinct t.topic_id) as total FROM ' . TOPICS_TABLE . ' t WHERE ' . $db->sql_in_set('t.topic_id', array_keys($unread_list)); $result = $db->sql_query($sql); $unread_posts_count = (int) $db->sql_fetchfield('total'); } else { $unread_posts_count = 0; } $template->assign_vars(array( 'L_NEW_POSTS' => $user->lang['SEARCH_NEW'] . ' (' . $new_posts_count . ')', 'L_UNREAD_POSTS'=> $user->lang['SEARCH_UNREAD'] . ' (' . $unread_posts_count . ')', 'L_SELF_POSTS' => $user->lang['SEARCH_SELF'] . ' (' . $you_posts_count . ')', )); } // // - new posts since last visit & you post number //
ändere
p.post_approved
mit p.post_visibility