Modul Artikelblättern
-
- Beiträge: 60
- Registriert: Mo 28. Nov 2005, 16:01
- Kontaktdaten:
Re: Modul Artikelblättern
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?
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?
-
- Beiträge: 4255
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Modul Artikelblättern
Hallo Matthias,
nein, da ist mir Keines bekannt.
Gruß aus Franken
Ortwin
nein, da ist mir Keines bekannt.
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
-
- Beiträge: 60
- Registriert: Mo 28. Nov 2005, 16:01
- Kontaktdaten:
Re: Modul Artikelblättern
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
http://forum.contenido.org/viewtopic.php?f=89&t=35130
Re: Modul Artikelblättern
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:
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
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
Re: Modul Artikelblättern
Moin stefkey,
so sollte das wohl funktionieren (nicht getestet):(Änderungen mit Kommentare NEU und GEAENDERT gekennzeichnet
Gruß
Zuschauer
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>";
}
?>
Gruß
Zuschauer
Re: Modul Artikelblättern
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:
Außerdem müssten Artikel die nicht online sind aufgenommen werden.
Kannst du das zufällig aus dem FF ergänzen?
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
}
Kannst du das zufällig aus dem FF ergänzen?
Re: Modul Artikelblättern
Moin stefkey,
Startartikel rein: Zeile 37 raus (AND tblData.idartlang != CATLANG.startidartlang)
Offline-Artikel rein: Zeile 36 raus (AND ARTLANG.online = '1')
Gruß
Zuschauer
Startartikel rein: Zeile 37 raus (AND tblData.idartlang != CATLANG.startidartlang)
Offline-Artikel rein: Zeile 36 raus (AND ARTLANG.online = '1')
Gruß
Zuschauer
Re: Modul Artikelblättern
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.
Ä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." "; };
}
}
...
Re: Modul Artikelblättern
Habs mal im alten Code eingebaut (mit Offline- und StartArtikel):
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
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>";
}
?>
Gruß
Zuschauer
Re: Modul Artikelblättern
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)
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
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++)
{
...
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
Re: Modul Artikelblättern
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 inkannst du weiter oben die idcats festlegen:
Gruß
Zuschauer
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) . ")
Code: Alles auswählen
$idcats = array(1, 3, 4, 5, 6, 8);
Zuschauer
Re: Modul Artikelblättern
Ja, danke - es war en versuch Wert.
Aber dein Code funktioniert auch (noch) nicht.
Die Variable idcats wird schon gespeichert, jedoch scheint
nicht zu greifen. Hast du eine Idee dazu?
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) . ")
Re: Modul Artikelblättern
Hallo,
nochmal versucht und folgendes gefunden:
lieber kein array als $idcats oder?
nochmal versucht und folgendes gefunden:
Code: Alles auswählen
$idcats = "5,6";
Re: Modul Artikelblättern
Jetzt aber!
das:
und das
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?
das:
Code: Alles auswählen
$idcats = "5,6";
Code: Alles auswählen
WHERE CAT.idcat IN ($idcats)
Hmmm un nu?
Kann man die Ausgabe eingrenzen auf die Artikel nur innerhalb der aktuellen Kategorie?
Re: Modul Artikelblättern
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!
Vielen Dank an alle für das Modul hier im Forum.
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 .= ' | ';
}
$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>";
}
?>