WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 05.07.2021 13:41:37

viktor321j
Mitglied

[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

Beitrag geändert von florian (11.07.2021 10:15:01)

Offline

#2 05.07.2021 16: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);

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 05.07.2021 18:39:53

viktor321j
Mitglied

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 18: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.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#5 06.07.2021 08:12:33

viktor321j
Mitglied

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

Code allein macht nicht glücklich. Jetzt spenden!

Offline

#7 08.07.2021 15:24:59

viktor321j
Mitglied

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

Tja, Florian - was soll ich dazu sagen?

Dankeeee!

Offline

Liked by:

florian

Fußzeile des Forums

up