WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 05.07.2021 14:41:37

viktor321j
Member

[gelöst] Blättern in Zusammenhang mit dem Blogmenü

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 11:15:01)

Offline

#2 05.07.2021 17:52:47

florian
Administrator

Re: [gelöst] Blättern in Zusammenhang mit dem Blogmenü

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);

Offline

#3 05.07.2021 19:39:53

viktor321j
Member

Re: [gelöst] Blättern in Zusammenhang mit dem Blogmenü

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

#4 05.07.2021 19:58:24

florian
Administrator

Re: [gelöst] Blättern in Zusammenhang mit dem Blogmenü

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.

Offline

#5 06.07.2021 09:12:33

viktor321j
Member

Re: [gelöst] Blättern in Zusammenhang mit dem Blogmenü

Schade, dass es nicht geht; falls doch irgendwann, lass es mich als Ersten wissen.  wink

Danke aber für die Info!

Offline

#6 08.07.2021 08:12:42

florian
Administrator

Re: [gelöst] Blättern in Zusammenhang mit dem Blogmenü

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
    );

Offline

#7 08.07.2021 16:24:59

viktor321j
Member

Re: [gelöst] Blättern in Zusammenhang mit dem Blogmenü

Tja, Florian - was soll ich dazu sagen?

Dankeeee!

Offline

Liked by:

florian

Board footer

up