Folgender Modul-Output gibt einen Link inkl. Vorschaubild (CMS_IMG[1]) und Headline (CMS_HTMLHEAD[1]) des vorherigen resp. nächsten Artikels in der gleichen Kategorie aus. Es ist damit eine einfache aber nutzerfreundliche Paging-Navigation.
Die Darstellung der Ausgabe kann natürlich beliebig angepasst werden.
Code: Alles auswählen
<?php
$sortiert = "ARTLANG.created";
$steigung= "DESC";
$sql = "SELECT DISTINCT CONCAT( UPLOADS.dirname, UPLOADS.filename ) AS path, CONTENT.value as page_title, 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"]["upl"]." AS UPLOADS, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat_lang"]." AS CATLANG, ".$cfg["tab"]["content"]." AS tblData, ".$cfg["tab"]["content"]." AS CONTENT, ".$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
AND tblData.value = UPLOADS.idupl
AND tblData.idtype = 22
AND CONTENT.idartlang = tblData.idartlang
ORDER BY ".$sortiert." ".$steigung;
$db->query($sql);
if ($db->num_rows() != 0)
{
$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("page_title");
$artikel[$j][3] = $db->f("path");
$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;
$previous_image = 'upload/'.$artikel[$x][3];
$previous_title = strip_tags($artikel[$x][2]);
$zurueck_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$x][1]."&idart=".$artikel[$x][0];
echo "<a href=\"".$sess->url("$zurueck_link")."\" title=\"$previous_title\" class=\"prev\"><span class=\"icon-wrap\"><i class=\"fa fa-angle-left\"></i></span>
<img src=\"$previous_image\" alt=\"Previous thumb\"/></a> ";
}
}
// Weiterblättern
for ($i=0; $i < $j; $i++)
{
if ($idart==$artikel[$i][0] && $i != $j-1) {
$y = $i+1;
$next_image = 'upload/'.$artikel[$y][3];
$next_title = strip_tags($artikel[$y][2]);
$weiter_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$y][1]."&idart=".$artikel[$y][0];
echo "<a href=\"".$sess->url("$weiter_link")."\" title=\"$next_title\" class=\"next\"><span class=\"icon-wrap\"><i class=\"fa fa-angle-right\"></i></span>
<img src=\"$next_image\" alt=\"Next thumb\"/></a> ";
}
}
} //Ende nicht ausgeben, wenn nur eine Seite...
}
?>