WBCE CMS – Way Better Content Editing.
You are not logged in.
Ich habe neben einem News-Abschnitt einen Code2-Abschnitt für ein Blogmenü eingerichtet (Modul), welches die Gruppen anzeigt, die auf der Newsseite verwendet werden. Wähle ich eine Gruppe aus und danach einen Artikel dieser Gruppe, funktioniert erst einmal alles wie gewünscht.
Aber wenn ich dann in der Beitragsansicht über den "Nächster Beitrag"- bzw. den "Voriger Beitrag"-Link unterhalb des Beitrags vor- bzw. zurückblättern möchte, funktioniert dies nicht, sondern es wird immer wieder der ursprünglich gezeigte Beitrag aufgerufen.
Wurde ein Beitrag nicht nach Auswahl im Blogmenü, sondern von der Gesamt-Übersicht im News-Abschnitt aus aufgerufen, funktioniert das Blättern ohne Probleme.
Das Problem tritt auf mehren Sites auf.
PHP-Version: 7.4.2.1
Last edited by florian (11.07.2021 10:15:01)
Offline
Das hat nichts mit dem Blogmenu zu tun, da ist tatsächlich ein Bug in NWI selbst, und zwar werden die vorheriger/nächster-Links nicht richtig zusammengebaut, wenn der Beitrag aus der Gruppenansicht heraus aufgerufen wurde.
Abhilfe: in der /modules/news_img/functions.inc.php, Zeile 1324f.
$post['next_link'] = (strlen($post['next_link'])>0 ? $delim.'g='.$_GET['g'] : null);
$post['prev_link'] = (strlen($post['prev_link'])>0 ? $delim.'g='.$_GET['g'] : null);
ändern zu
$post['next_link'] = (strlen($post['next_link'])>0 ? $post['next_link'].'?g='.$_GET['g'] : null);
$post['prev_link'] = (strlen($post['prev_link'])>0 ? $post['prev_link'].'?g='.$_GET['g'] : null);
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Danke Florian.
So blättere ich dann allerdings jeweils im Gesamt-Bestand. Wenn ich über eine bestimmte Gruppe komme, die ich im Blogmenü ausgewählt habe, wäre es jedoch sehr schön, wenn ich nur die Beiträge durchblättern könnte, die zu dieser Gruppe gehören.
Hast Du da auch eine Idee?
Offline
Das ist zugegebenermaßen blöd. War mir auch schon aufgefallen. Dummerweise ist diese vorheriger/nächster-Beitrag-Navigation sowieso schon allgemein überraschend aufwändig zu programmieren. Nun müsste da also noch eine Abfrage rein, ob es sich um eine Beitragsansicht in einer Gruppe oder zu einem oder mehreren Tags handelt, und welche Beiträge in der jeweiligen Gruppe bzw. mit den jeweiligen Tags dann davor/danach kommen. Das geht nicht ohne umfassendere Änderungen am Modul, deshalb habe ich da so ad hoc keine Lösung.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Schade, dass es nicht geht; falls doch irgendwann, lass es mich als Ersten wissen.
Danke aber für die Info!
Offline
So, zumindest für Gruppen scheint es jetzt doch nicht so schwierig zu sein, die prev/next-Links anzupassen.
Zusätzlich zu den oben in Post #2 beschriebenen Änderungen noch folgende Anpassungen vornehmen:
In der /modules/news_img/functions.inc.php, nach Zeile 791
list($order_by,$direction) = mod_nwi_get_order($section_id);
einfügen:
if (isset($_GET['g'])) {
$query_group = ' AND `group_id` = '.intval($_GET['g']).' ';
} else {
$query_group = '';
}
Zeile 799ff
$sql = sprintf(
"SELECT `t1`.*, " .
" (SELECT `link` FROM `%smod_news_img_posts` AS `t2` WHERE `t2`.`$order_by` > `t1`.`$order_by` AND `section_id`=$section_id AND `active`=1 ORDER BY `$order_by` $prev_dir LIMIT 1 ) as `prev_link`, ".
" (SELECT `link` FROM `%smod_news_img_posts` AS `t3` WHERE `t3`.`$order_by` < `t1`.`$order_by` AND `section_id`=$section_id AND `active`=1 ORDER BY `$order_by` $direction LIMIT 1 ) as `next_link` " .
"FROM `%smod_news_img_posts` AS `t1` " .
"WHERE `post_id`=%d",
TABLE_PREFIX, TABLE_PREFIX, TABLE_PREFIX, $post_id
);
ändern zu
$sql = sprintf(
"SELECT `t1`.*, " .
" (SELECT `link` FROM `%smod_news_img_posts` AS `t2` WHERE `t2`.`$order_by` > `t1`.`$order_by` AND `section_id`=$section_id AND `active`=1 $query_group ORDER BY `$order_by` $prev_dir LIMIT 1 ) as `prev_link`, ".
" (SELECT `link` FROM `%smod_news_img_posts` AS `t3` WHERE `t3`.`$order_by` < `t1`.`$order_by` AND `section_id`=$section_id AND `active`=1 $query_group ORDER BY `$order_by` $direction LIMIT 1 ) as `next_link` " .
"FROM `%smod_news_img_posts` AS `t1` " .
"WHERE `post_id`=%d",
TABLE_PREFIX, TABLE_PREFIX, TABLE_PREFIX, $post_id
);
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Tja, Florian - was soll ich dazu sagen?
Dankeeee!
Offline
florian