Modul Artikelblättern

matthiasschnueriger
Beiträge: 60
Registriert: Mo 28. Nov 2005, 16:01
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von matthiasschnueriger » Fr 6. Jun 2014, 06:52

Danke für eure Antworten. Es ist tatsächlich so, dass ich das Modul (respektive die entsprechend Funktionalität) für eine 4.9er Installation benötige. Sorry fürs Missverständnis.
Gibt es in der 4.9 denn schon ein (anderes) Modul, welches meine Anforderungen (Link- UND Bildausgabe des vorherigen und nächsten Artikels) erfüllt?

Oldperl
Beiträge: 4086
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von Oldperl » Fr 6. Jun 2014, 07:28

Hallo Matthias,

nein, da ist mir Keines bekannt.

Gruß aus Franken

Ortwin
CONTENIDO 4.9 Entwickler-Handbuch - Publikation auf medium.com zu meinem angedachten Entwickler-Buch zu CONTENIDO 4.9
ConLite 2.0, alternatives und stabiles Update von Contenido 4.8.x
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

matthiasschnueriger
Beiträge: 60
Registriert: Mo 28. Nov 2005, 16:01
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von matthiasschnueriger » Do 26. Jun 2014, 11:28

Ich habe in der Zwischenzeit danke Hilfe eines Freundes eine Lösung gefunden, welche ich euch nicht vorenthalten möchte:
http://forum.contenido.org/viewtopic.php?f=89&t=35130

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mo 16. Feb 2015, 00:13

Hallo,

ich habe das Modul in Contenido 4.8.12 eingesetzt. Ich hätte gerne statt die Link-Namen die Artikelnamen als Link. Ich denke ich muss die sql-abfrage korrigieren bzw. ergänzen um dann den Artikeltitle auszugeben. Kann mir jemand helfen und sich mal den Output anschauen?

Hier nochmals der Output:

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     artikellaettern
* Author      :     smac
* Created     :     21-09-2006
* Created     :     21-09-2006
************************************************/


$anzahl = "CMS_VALUE[1]";
$platzhalter = "CMS_VALUE[2]";
$zurueck = "CMS_VALUE[3]";
$weiter = "CMS_VALUE[4]";
$sortiert = "CMS_VALUE[5]";
$steigung = "CMS_VALUE[6]";

if ($anzahl=="") $anzahl = 1;
if ($platzhalter=="") $platzhalter = "...";
if ($sortiert=="") $sortiert = "ARTLANG.created";
if ($steigung=="") $steigung= "ASC";


$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, ARTLANG.idartlang AS idartlang, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart 
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat_lang"]." AS CATLANG, ".$cfg["tab"]["content"]." AS tblData, ".$cfg["tab"]["cat"]." AS CAT
WHERE CAT.idcat='$idcat'
AND ARTLANG.idart = CATART.idart
AND CATART.idcat = CAT.idcat
AND tblData.idartlang = ARTLANG.idartlang 
AND CATLANG.idlang = ARTLANG.idlang 
AND CATLANG.idcat = CATART.idcat
AND ARTLANG.idart = CATART.idart
AND ARTLANG.idlang = '$lang' 
AND ARTLANG.online = '1'
AND tblData.idartlang != CATLANG.startidartlang
ORDER BY ".$sortiert." ".$steigung;



$db->query($sql);
if ($db->num_rows() != 0)
{
echo "<div class=\"indexnavigation\">";
$artikel = array(array());
$j=0;
$db->next_record();
$idart_last=$db->f("idart");
for ($i=0; $i<$db->num_rows(); $i++)
{
$artikel[$j][0] = $db->f("idart");
$artikel[$j][1] = $db->f("idcat");

$type = $db->f("idtype");
$typeid = $db->f("typeid");

while ( $idart_last==$db->f("idart") )
{
$idart_last=$db->f("idart");
$db->next_record();
$i++;
}

$idart_last=$db->f("idart");
$j++;
$i--;
}

// Nicht ausgeben, wenn nur eine Seite existiert...
if ($i>1)
  {
  echo "";

// Zurückblättern
for ($i=0; $i < $j; $i++)
{
   if ($idart==$artikel[$i][0] && $i!=0) {
      $x = $i-1;
      $zurueck_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
      echo "<a href=\"".$sess->url("$zurueck_link")."\" class=\"links\">".$zurueck."</a> ";
   }
}


// Zahlen und Platzhalter
/* for ($i=0; $i < $j; $i++)
{

   $k = $i+1;
   
   $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0];

   if ($idart!=$artikel[$i][0]) {
      if ( $k <= $anzahl || $k > $j-$anzahl) {
         echo "<a href='".$sess->url("$navmod_link")."'>".$k."</a> ";
      }
   } else {
      if ($k != 1 && $k != 2) { echo $platzhalter." " ; };
      echo $k." ";
      if ($k != $j-1 && $k != $j) { echo $platzhalter." "; };
   }   
   
}
*/
// Weiterblättern
for ($i=0; $i < $j; $i++)
{
   if ($idart==$artikel[$i][0] && $i != $j-1) {
      $y = $i+1;
      $weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
      echo "<a href=\"".$sess->url("$weiter_link")."\" class=\"rechts\">".$weiter."</a> ";
   }
}

}   //Ende nicht ausgeben, wenn nur eine Seite...

echo "</div>";
}


?>

Ich kann leider nicht wirklich php um mich darin zurechtzufinden. Vielleicht kann ja jemand von euch mal einen Blick draufhelfen und mir helfen. Das wäre super.
Danke und Grüße, stefkey

Zuschauer
Beiträge: 140
Registriert: Do 5. Dez 2013, 08:57
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von Zuschauer » Mo 16. Feb 2015, 08:48

Moin stefkey,

so sollte das wohl funktionieren (nicht getestet):

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     artikellaettern
* Author      :     smac
* Created     :     21-09-2006
* Created     :     21-09-2006
************************************************/


$anzahl = "CMS_VALUE[1]";
$platzhalter = "CMS_VALUE[2]";
$zurueck = "CMS_VALUE[3]";
$weiter = "CMS_VALUE[4]";
$sortiert = "CMS_VALUE[5]";
$steigung = "CMS_VALUE[6]";

if ($anzahl=="") $anzahl = 1;
if ($platzhalter=="") $platzhalter = "...";
if ($sortiert=="") $sortiert = "ARTLANG.created";
if ($steigung=="") $steigung= "ASC";


$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, ARTLANG.idartlang AS idartlang, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat_lang"]." AS CATLANG, ".$cfg["tab"]["content"]." AS tblData, ".$cfg["tab"]["cat"]." AS CAT
WHERE CAT.idcat='$idcat'
AND ARTLANG.idart = CATART.idart
AND CATART.idcat = CAT.idcat
AND tblData.idartlang = ARTLANG.idartlang
AND CATLANG.idlang = ARTLANG.idlang
AND CATLANG.idcat = CATART.idcat
AND ARTLANG.idart = CATART.idart
AND ARTLANG.idlang = '$lang'
AND ARTLANG.online = '1'
AND tblData.idartlang != CATLANG.startidartlang
ORDER BY ".$sortiert." ".$steigung;



$db->query($sql);
if ($db->num_rows() != 0)
{
    echo "<div class=\"indexnavigation\">";
    $artikel = array(array());
    $j=0;
    $db->next_record();
    $idart_last=$db->f("idart");
    for ($i=0; $i<$db->num_rows(); $i++)
    {
        $artikel[$j][0] = $db->f("idart");
        $artikel[$j][1] = $db->f("idcat");
        $artikel[$j][2] = $db->f("title"); # NEU

        $type = $db->f("idtype");
        $typeid = $db->f("typeid");

        while ( $idart_last==$db->f("idart") )
        {
            $idart_last=$db->f("idart");
            $db->next_record();
            $i++;
        }

        $idart_last=$db->f("idart");
        $j++;
        $i--;
    }

    // Nicht ausgeben, wenn nur eine Seite existiert...
    if ($i>1)
    {
        echo "";

        // Zurückblättern
        for ($i=0; $i < $j; $i++)
        {
            if ($idart==$artikel[$i][0] && $i!=0) {
                $x = $i-1;
                $zurueck_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
                echo "<a href=\"".$sess->url("$zurueck_link")."\" class=\"links\">".$artikel[$x][2]."</a> "; # GEAENDERT
            }
        }


        // Zahlen und Platzhalter
        /* for ($i=0; $i < $j; $i++)
        {

           $k = $i+1;
           
           $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0];

           if ($idart!=$artikel[$i][0]) {
              if ( $k <= $anzahl || $k > $j-$anzahl) {
                 echo "<a href='".$sess->url("$navmod_link")."'>".$k."</a> ";
              }
           } else {
              if ($k != 1 && $k != 2) { echo $platzhalter." " ; };
              echo $k." ";
              if ($k != $j-1 && $k != $j) { echo $platzhalter." "; };
           }   
           
        }
        */
        // Weiterblättern
        for ($i=0; $i < $j; $i++)
        {
            if ($idart==$artikel[$i][0] && $i != $j-1) {
                $y = $i+1;
                $weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
                echo "<a href=\"".$sess->url("$weiter_link")."\" class=\"rechts\">".$artikel[$x][2]."</a> "; # GEAENDERT
            }
        }

    }   //Ende nicht ausgeben, wenn nur eine Seite...

    echo "</div>";
}
?>
(Änderungen mit Kommentare NEU und GEAENDERT gekennzeichnet

Gruß
Zuschauer

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mo 16. Feb 2015, 23:24

Vielen Dank Zuschauer,

ich bin ein Schritt weiter.

Nun ist es so das beim Startartikel keine "weiter-Navi" angezeigt wird. Nur bei den Artikeln die kein Startartikel sind wird der Link zum nächsten Artikel erzeugt.
Ich denke es liegt an der Schleife, in die for-Schleife geht das Modul nämlich auch beim Start-Artikel noch rein:

Code: Alles auswählen

if ($idart==$artikel[$i][0] && $i != $j-1) {
                $y = $i+1;
                $weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
                echo "<a href=\"".$sess->url("$weiter_link")."\" class=\"rechts\">".$artikel[$y][2]."</a> "; # GEAENDERT
            }
Außerdem müssten Artikel die nicht online sind aufgenommen werden.

Kannst du das zufällig aus dem FF ergänzen?

Zuschauer
Beiträge: 140
Registriert: Do 5. Dez 2013, 08:57
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von Zuschauer » Di 17. Feb 2015, 08:57

Moin stefkey,

Startartikel rein: Zeile 37 raus (AND tblData.idartlang != CATLANG.startidartlang)
Offline-Artikel rein: Zeile 36 raus (AND ARTLANG.online = '1')

Gruß
Zuschauer

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Di 17. Feb 2015, 22:34

Wahnsinn, Danke sehr! Ausm FF, super.

Ähm noch eine Winzigkeit:

Es wird ja nun immer der nächste Artikel, und ggf. auch der vorige Artikel als Link angezeigt.
Genial wäre es nun wenn zwischen den beiden Links ein Trenzeichen ist. Ich habe das im Modul bei der echo Ausgabe wo der Link ausgebe wird mal ergänzt. Jedoch wird dann das Trennzeichen ja immer ausgegeben. Das hat zur Folge das entweder beim ersten oder beim Letzten Artikel das Trennzeichen in der Luft hängt obwohl da gar kein zweiter Link ist.

Ich habe auch versucht dann in dem Code-Teil "Zahlen und Platzhalter" herumzupfuschen aber das krieg ich nicht auf die Reihe. Meinst du du könntest mal nachdenken und mir helfen?

Hier mal die for-Schleife aus dem Code, keine Ahnung ob du das als Basis nehmen kannst oder ob du das anders angehst.

Code: Alles auswählen

...
            // Zahlen und Platzhalter
             for ($i=0; $i < $j; $i++)
            {

               $k = $i+1;
               
               $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0];

               if ($idart!=$artikel[$i][0]) {
                  if ( $k <= $anzahl || $k > $j-$anzahl) {
                     echo "<a href='".$sess->url("$navmod_link")."'>".$k."</a> ";
                  }
               } else {
                if ($k != 1 && $k != 2) { echo $platzhalter." " ; };
                  echo $k." ";
                  if ($k != $j-1 && $k != $j) { echo $platzhalter." "; };
               }
               
            }
...

Zuschauer
Beiträge: 140
Registriert: Do 5. Dez 2013, 08:57
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von Zuschauer » Mi 18. Feb 2015, 08:08

Habs mal im alten Code eingebaut (mit Offline- und StartArtikel):

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     artikellaettern
* Author      :     smac
* Created     :     21-09-2006
* Created     :     21-09-2006
************************************************/


$anzahl = "CMS_VALUE[1]";
$platzhalter = "CMS_VALUE[2]";
$zurueck = "CMS_VALUE[3]";
$weiter = "CMS_VALUE[4]";
$sortiert = "CMS_VALUE[5]";
$steigung = "CMS_VALUE[6]";

if ($anzahl=="") $anzahl = 1;
if ($platzhalter=="") $platzhalter = "...";
if ($sortiert=="") $sortiert = "ARTLANG.created";
if ($steigung=="") $steigung= "ASC";


$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, ARTLANG.idartlang AS idartlang, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat_lang"]." AS CATLANG, ".$cfg["tab"]["content"]." AS tblData, ".$cfg["tab"]["cat"]." AS CAT
WHERE CAT.idcat='$idcat'
AND ARTLANG.idart = CATART.idart
AND CATART.idcat = CAT.idcat
AND tblData.idartlang = ARTLANG.idartlang
AND CATLANG.idlang = ARTLANG.idlang
AND CATLANG.idcat = CATART.idcat
AND ARTLANG.idart = CATART.idart
AND ARTLANG.idlang = '$lang'
ORDER BY ".$sortiert." ".$steigung;



$db->query($sql);
if ($db->num_rows() != 0)
{
    echo "<div class=\"indexnavigation\">";
    $artikel = array(array());
    $j=0;
    $db->next_record();
    $idart_last=$db->f("idart");
    for ($i=0; $i<$db->num_rows(); $i++)
    {
        $artikel[$j][0] = $db->f("idart");
        $artikel[$j][1] = $db->f("idcat");
        $artikel[$j][2] = $db->f("title"); # NEU

        $type = $db->f("idtype");
        $typeid = $db->f("typeid");

        while ( $idart_last==$db->f("idart") )
        {
            $idart_last=$db->f("idart");
            $db->next_record();
            $i++;
        }

        $idart_last=$db->f("idart");
        $j++;
        $i--;
    }

    // Nicht ausgeben, wenn nur eine Seite existiert...
    if ($i>1)
    {
        $ret = "";

        // Zurückblättern
        for ($i=0; $i < $j; $i++)
        {
            if ($idart==$artikel[$i][0] && $i!=0) {
                $x = $i-1;
                $zurueck_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
                $ret .= "<a href=\"".$sess->url("$zurueck_link")."\" class=\"links\">".$artikel[$x][2]."</a>"; # GEAENDERT
            }
        }


        // Zahlen und Platzhalter
        /* for ($i=0; $i < $j; $i++)
        {

           $k = $i+1;
           
           $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0];

           if ($idart!=$artikel[$i][0]) {
              if ( $k <= $anzahl || $k > $j-$anzahl) {
                 echo "<a href='".$sess->url("$navmod_link")."'>".$k."</a> ";
              }
           } else {
              if ($k != 1 && $k != 2) { echo $platzhalter." " ; };
              echo $k." ";
              if ($k != $j-1 && $k != $j) { echo $platzhalter." "; };
           }   
           
        }
        */
        // Weiterblättern
        for ($i=0; $i < $j; $i++)
        {
            if ($idart==$artikel[$i][0] && $i != $j-1) {
                if (strlen($ret)) {
                    $ret .= ' | ';
                }
                $y = $i+1;
                $weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
                $ret .= "<a href=\"".$sess->url("$weiter_link")."\" class=\"rechts\">".$artikel[$x][2]."</a>"; # GEAENDERT
            }
        }
        echo $ret;

    }   //Ende nicht ausgeben, wenn nur eine Seite...

    echo "</div>";
}
?>
Der Trick ist, die Ausgabe in eine Variable zwischen zu speichern und dann (Zeile 109-111) ihre Länge zu prüfen um nur bei Bedarf das Trennzeichen einzufügen.

Gruß
Zuschauer

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mi 18. Feb 2015, 12:05

Hallo lieber Zuschauer,

DANKE SEHR! Es klappt soweit. Vielen vielen Dank! Es ist für ein ehrenamtliches Projekt im Gesundheitsweisen, als osogar für einen guten Zweck, danke für den Support.
Jetzt fällt mir doch noch was ein.

Es wäre toll wenn ich im Modulcode die Kategorieen angeben könnte bei der die Ausgabe erfolgt.
Ich habe es mit folgemdem versucht, leider ohne Erfolg:

(dieses "|| CATLANG.idcat = 5" in der if-Schleife)

Code: Alles auswählen

...
        // Nicht ausgeben, wenn nur eine Seite existiert...
        if ($i>1 || CATLANG.idcat = 137 )
        {
            $ret = "";

            // Zurückblättern
            for ($i=0; $i < $j; $i++)
            {
...
Bin ich auf dem richtigen Weg und nur die Sythax ist falsch?

Ideal wäre wenn auch alle Kategorieen unterhalb dann drin sind, ich kann aber auch jede Kategorie ID im Modulcode gerne von Hand eintragen.

VG, stefkey

Zuschauer
Beiträge: 140
Registriert: Do 5. Dez 2013, 08:57
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von Zuschauer » Mi 18. Feb 2015, 13:18

Da arbeitest du tatsächlich an der falschen Stelle :)

In Zeile 28 (WHERE CAT.idcat='$idcat') wird die idcat der aktuellen Kategorie übergeben.
Wenn du diese Zeile änderst in

Code: Alles auswählen

WHERE CAT.idcat IN (" . explode(', ', $idcats) . ") 
kannst du weiter oben die idcats festlegen:

Code: Alles auswählen

$idcats = array(1, 3, 4, 5, 6, 8); 
Gruß
Zuschauer

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mi 18. Feb 2015, 13:46

Ja, danke - es war en versuch Wert.

Aber dein Code funktioniert auch (noch) nicht.
Die Variable idcats wird schon gespeichert, jedoch scheint

Code: Alles auswählen

WHERE CAT.idcat IN (" . explode(', ', $idcats) . ") 
nicht zu greifen. Hast du eine Idee dazu?

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mi 18. Feb 2015, 16:43

Hallo,

nochmal versucht und folgendes gefunden:

Code: Alles auswählen

$idcats = "5,6";
lieber kein array als $idcats oder?

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mi 18. Feb 2015, 17:18

Jetzt aber!

das:

Code: Alles auswählen

$idcats = "5,6";
und das

Code: Alles auswählen

    WHERE CAT.idcat IN ($idcats)
Dann gehts. Aber nun sehe ich das es Kategorieübergreifend ist. Also es gibt ein Zurücklink beim ersten Artikel der dann aber in eine andere Kategorie führt.
Hmmm un nu?
Kann man die Ausgabe eingrenzen auf die Artikel nur innerhalb der aktuellen Kategorie?

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Re: Modul Artikelblättern

Beitrag von stefkey » Mi 18. Feb 2015, 17:28

Oh sorry für meine obigen "unnötigen" letzten 3 Posts. Die kann man gerne löschen liebe Moderatoren. Hier nun die funktionierende Endlösung. Vielen Dank an Zuschauer!

Code: Alles auswählen

    <?php

    /***********************************************
    * CONTENIDO MODUL - OUTPUT
    *
    * Modulname   :     artikellaettern
    * Author      :     smac
    * Created     :     21-09-2006
    * Created     :     21-09-2006
    ************************************************/

    $idcats = "5,6,7,8"; /* <- Hier das damit man die idcats hier angeben kann wo die "Artikel blättern Funktion" aktiv ist */
    $anzahl = "CMS_VALUE[1]";
    $platzhalter = "CMS_VALUE[2]";
    $zurueck = "CMS_VALUE[3]";
    $weiter = "CMS_VALUE[4]";
    $sortiert = "CMS_VALUE[5]";
    $steigung = "CMS_VALUE[6]";

    if ($anzahl=="") $anzahl = 1;
    if ($platzhalter=="") $platzhalter = "...";
    if ($sortiert=="") $sortiert = "ARTLANG.created";
    if ($steigung=="") $steigung= "ASC";


    $sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, ARTLANG.idartlang AS idartlang, ARTLANG.idartlang AS idartlang, CATART.idcat AS idcat, CATART.idcatart AS idcatart
    FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat_lang"]." AS CATLANG, ".$cfg["tab"]["content"]." AS tblData, ".$cfg["tab"]["cat"]." AS CAT
    WHERE CAT.idcat='$idcat' 
    AND CAT.idcat IN ($idcats)  /* <- Hier das damit die "Artikel blättern Funktion" nur in oben angegebenen idcats aktiviert ist. Danke Zuschauer */
    AND ARTLANG.idart = CATART.idart
    AND CATART.idcat = CAT.idcat
    AND tblData.idartlang = ARTLANG.idartlang
    AND CATLANG.idlang = ARTLANG.idlang
    AND CATLANG.idcat = CATART.idcat
    AND ARTLANG.idart = CATART.idart
    AND ARTLANG.idlang = '$lang'
    AND ARTLANG.online = '1'
/*    AND tblData.idartlang != CATLANG.startidartlang  */
    ORDER BY ".$sortiert." ".$steigung;



    $db->query($sql);
    if ($db->num_rows() != 0)
    {
        echo "<div class=\"indexnavigation\">";
        $artikel = array(array());
        $j=0;
        $db->next_record();
        $idart_last=$db->f("idart");
        for ($i=0; $i<$db->num_rows(); $i++)
        {
            $artikel[$j][0] = $db->f("idart");
            $artikel[$j][1] = $db->f("idcat");
            $artikel[$j][2] = $db->f("title"); # NEU

            $type = $db->f("idtype");
            $typeid = $db->f("typeid");

            while ( $idart_last==$db->f("idart") )
            {
                $idart_last=$db->f("idart");
                $db->next_record();
                $i++;
            }

            $idart_last=$db->f("idart");
            $j++;
            $i--;
        }

        // Nicht ausgeben, wenn nur eine Seite existiert...
        if ($i>1)
        {
            $ret = "";

            // Zurückblättern
            for ($i=0; $i < $j; $i++)
            {
                if ($idart==$artikel[$i][0] && $i!=0) {
                    $x = $i-1;
                    $zurueck_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
                    $ret .= "<img class=\"\" src=\"images/navipfeilback-2015.gif\"><a href=\"".$sess->url("$zurueck_link")."\" class=\"links\">".$artikel[$x][2]."</a>"; # GEAENDERT
                }
            }


            // Zahlen und Platzhalter
            /* for ($i=0; $i < $j; $i++)
            {

               $k = $i+1;
               
               $navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0];

               if ($idart!=$artikel[$i][0]) {
                  if ( $k <= $anzahl || $k > $j-$anzahl) {
                     echo "<a href='".$sess->url("$navmod_link")."'>".$k."</a> ";
                  }
               } else {
                  if ($k != 1 && $k != 2) { echo $platzhalter." " ; };
                  echo $k." ";
                  if ($k != $j-1 && $k != $j) { echo $platzhalter." "; };
               }   
               
            }
            */
            // Weiterblättern
            for ($i=0; $i < $j; $i++)
            {
                if ($idart==$artikel[$i][0] && $i != $j-1) {
                    if (strlen($ret)) {
                        $ret .= ' &nbsp;&nbsp;|&nbsp;&nbsp; ';
                    }
                    $y = $i+1;
                    $weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
                    $ret .= "<a href=\"".$sess->url("$weiter_link")."\" class=\"rechts\">".$artikel[$y][2]."</a> <img class=\"\" src=\"images/navipfeil-2015.gif\">"; # GEAENDERT
                }
            }
            echo $ret;

        }   //Ende nicht ausgeben, wenn nur eine Seite...

        echo "</div>";
    }
    ?>
Vielen Dank an alle für das Modul hier im Forum.

Gesperrt