Seite 2 von 2
Verfasst: Mo 22. Dez 2003, 08:49
von agon
Hallo,
hmm, bei mir ist das nicht so, auch die erste Seite wird als Link angezeigt...
Was ich mir als Erweiterung vorstellen könnte, ist, die jeweils aktuelle Seite
nicht als Link anzuzeigen, dann müßte man die
while-Schleife ergänzen:
Code: Alles auswählen
<?php
$sql = "SELECT ARTLANG.idart
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat'
ORDER BY CATART.is_start DESC,ARTLANG.artsort ASC,ARTLANG.created ASC";
$db->query($sql);
$i=1;
echo '<p>';
while ($db->next_record())
{
if ($idart != $db->f("idart"))
{
$navmod_link ="front_content.php?client=$client&la"."ng=$lang&idcat=".$idcat."&idart=".$db->f("idart")."";
echo '<a href="'.$sess->url("$navmod_link").'">'.$i.'</a>';
} else
{
echo $i;
}
if ($i != $db->num_rows())
{
echo ' | ';
}
$i++;
}
if ($db->num_rows() != 0)
{
echo '</p>';
}
?>
Gruß
Andreas
Verfasst: Mi 28. Jan 2004, 11:02
von snafoo
Hi,
hier ist das Modul noch ein bisschen erweitert. Es zeigt jetzt auch 'prev' und 'next' links an:
OUTPUT:
Code: Alles auswählen
<?php
$sql = "SELECT ARTLANG.idart
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat'
ORDER BY CATART.is_start DESC,ARTLANG.artsort ASC,ARTLANG.created ASC";
$db->query($sql);
$i=1;
$nextlink=true;
while ($db->next_record())
{
$navmod_link_prev = $navmod_link;
$navmod_link ="front_content.php?client=$client&la"."ng=$lang&idcat=".$idcat."&idart=".$db->f("idart")."";
if (!$nextlink) $nextlink = $navmod_link;
if ($db->f("idart") != $idart) { $tmp .= '<a href="'.$sess->url("$navmod_link").'">'.$i.'</a>'; }
else {
if ($i != 1) { $prevlink = '<a href="'.$sess->url("$navmod_link_prev").'">prev</a> | '; }
else { $prevlink = 'prev | '; }
$tmp .= $i;
$nextlink = false;
}
if ($i != $db->num_rows()) { $tmp .= ' | '; }
$i++;
}
echo '<p>';
if ($db->num_rows() != 0) {
echo $prevlink . $tmp;
if ($nextlink) { echo ' | <a href="'.$sess->url("$nextlink").'">next</a>'; }
else { echo ' | next'; }
echo '</p>';
}
?>
Gruss,
Andre
Verfasst: Mo 2. Feb 2004, 16:28
von Darth-Vader
sehr gut, thx, eingebaut, klappt sofort ohne jegliche Änderungen

Verfasst: Mo 2. Feb 2004, 16:51
von koffer
Code: Alles auswählen
<?php
$anzahl = "CMS_VALUE[8]";
if($anzahl<1) {$anzahl=10;}
$laenge = "CMS_VALUE[9]";
if($laenge<0) {$laenge=100;}
$sql = "SELECT ARTLANG.idart, ARTLANG.title, CATART.idcat, ARTLANG.created, CONTENT.value, CONTENT.idtype, CONTENT.typeid
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["cat"]." AS CAT, ".$cfg["tab"]["content"]." AS CONTENT
WHERE ARTLANG.idart = CATART.idart AND CATART.idcat = CAT.idcat AND ARTLANG.idartlang=CONTENT.idartlang AND CONTENT.idtype<=2 AND CONTENT.typeid<=2 AND CAT.idcat='$idcat' AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND CATART.is_start='0'
ORDER BY ARTLANG.artsort ASC,ARTLANG.created DESC";
$db->query($sql);
if ($db->num_rows() != 0)
{
echo "<h3><p>CMS_HTMLHEAD[6]</h3>
<table border=0 cellspacing=0 cellpadding=0 id=\"font\">";
$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] = substr($db->f("created"),8,2).".".substr($db->f("created"),5,2).".";
while ( $idart_last==$db->f("idart") )
{
if ( $db->f("idtype") == 2 && $db->f("typeid") == 1 )
{
$html_text = strip_tags(urldecode($db->f("value")));
$array = array ("ä" => "ä", "ö" => "ö", "ü" => "ü", "ß" => "ß", "Ä" => "Ä", "Ö" => "Ö", "Ü" => "ü", " " => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
$html_text = strtr($html_text, $array);
$artikel[$j][5] = htmlentities(substr($html_text,0,$laenge))."...";
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 1 )
{
$artikel[$j][3] = strip_tags(urldecode($db->f("value")));
} elseif ( $db->f("idtype") == 1 && $db->f("typeid") == 2 )
{
$artikel[$j][4] = strip_tags(urldecode($db->f("value")));
}
$idart_last=$db->f("idart");
$db->next_record();
$i++;
}
$idart_last=$db->f("idart");
$j++;
$i--;
}
if($blatt=="") {$blatt=0;}
$blattmax=ceil($j/$anzahl)-1;
$blatt1 = $blatt+1;
$blattmax1 = $blattmax+1;
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\">Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b><br> </td>
</tr>";
}
for ($i=$anzahl*$blatt; $i < min($j,$anzahl*$blatt+$anzahl); $i++)
{
$k = $i-1;
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=".$artikel[$i][1]."&idart=".$artikel[$i][0]."";
echo '<tr>';
if ( $i>0 && $artikel[$i][2] == $artikel[$k][2] )
{
echo '<td> </td>';
} else
{
echo '<td valign="top"><p><b>'.$artikel[$i][2].'</b></p></td>';
}
echo '<td><img border="0" src="images/2.gif" width="7" height="40"></td>
<td><p><b><a href="'.$sess->url("$navmod_link").'" id="font">'.$artikel[$i][3].'</a> '.$artikel[$i][4].'</b> '.$artikel[$i][5].' <a href="'.$sess->url("$navmod_link").'" id="font">mehr</a></p></td>
</tr>';
}
if ($j>$anzahl)
{
echo " <tr>
<td colspan=3 align=\"right\"><br>Seite ".$blatt1." von ".$blattmax1." – <b>";
for ($i=0; $i<=$blattmax; $i++)
{
$k = $i+1;
if($i==$blatt) {
echo " ".$k." ";
} else {
$navmod_link ="front_content.php?client=$client&lang=$lang&idcat=$idcat&blatt=".$i."";
echo ' <a href="'.$sess->url("$navmod_link").'" id="font">'.$k.'</a> ';
}
}
echo "</b></td>
</tr>";
}
echo '</table>';
}
?>
wie bekomme ich hier ein "zurück zur Übersicht" rein?
Bei allen bisherigen Versuchen hab ich mir immer alles zerschossen...
Verfasst: Di 22. Feb 2005, 15:26
von Flex32
snafoo hat geschrieben:Hi,
hier ist das Modul noch ein bisschen erweitert. Es zeigt jetzt auch 'prev' und 'next' links an:
OUTPUT:
Code: Alles auswählen
<?php
$sql = "SELECT ARTLANG.idart
FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".$cfg["tab"]["art_lang"]." AS ARTLANG, ".$cfg["tab"]["art"]." AS ART
WHERE ARTLANG.idart = CATART.idart AND CATART.idart = ART.idart AND ARTLANG.idlang = '$lang' AND ARTLANG.online = '1' AND ART.idclient='$client' AND CATART.idcat='$idcat'
ORDER BY CATART.is_start DESC,ARTLANG.artsort ASC,ARTLANG.created ASC";
$db->query($sql);
$i=1;
$nextlink=true;
while ($db->next_record())
{
$navmod_link_prev = $navmod_link;
$navmod_link ="front_content.php?client=$client&la"."ng=$lang&idcat=".$idcat."&idart=".$db->f("idart")."";
if (!$nextlink) $nextlink = $navmod_link;
if ($db->f("idart") != $idart) { $tmp .= '<a href="'.$sess->url("$navmod_link").'">'.$i.'</a>'; }
else {
if ($i != 1) { $prevlink = '<a href="'.$sess->url("$navmod_link_prev").'">prev</a> | '; }
else { $prevlink = 'prev | '; }
$tmp .= $i;
$nextlink = false;
}
if ($i != $db->num_rows()) { $tmp .= ' | '; }
$i++;
}
echo '<p>';
if ($db->num_rows() != 0) {
echo $prevlink . $tmp;
if ($nextlink) { echo ' | <a href="'.$sess->url("$nextlink").'">next</a>'; }
else { echo ' | next'; }
echo '</p>';
}
?>
Gruss,
Andre
das ist schonmal klasse.
wenn es jetzt keine seite zurück geht, dann wir der link ja schwaz angezeigt, aber wie kann ich den diese farbe ändern, kann man das ganze vll auch so bauen, das , wenn es keine seite vorher gab, der button für back ganz ausgeblendet wird? und kann man vll noch einbauen, das man die button immer neu bennen kann, also das sie nicht immer next und back heißen...
danke
greetz flex
Verfasst: Do 14. Apr 2005, 09:26
von halousi
erst einmal vielen dank für dieses tolle modul. ich habe es nun schon seit einiger zeit im einsatz und es funktioniert soweit prima. jetzt ist mir nur aufgefallen, dass wenn man eine bestimmte anzahl von artikeln eingestellt hat die navigation endlos lang wird und irgendwann nicht mehr auf die seite passt, bzw umbricht.
könnte man vieleicht das modul noch so erweitern, dass z.B. die ersten 5 artikel und der letzte artikel angezeigt werden?:
irgendwie so:
zurück 1/2/3/4/5/6/7/.../21 vor
viele grüße
hanes
Ohne Startartikel?
Verfasst: Mo 10. Jul 2006, 10:11
von joma
Hallo!
Dieses Modul funktioniert bestens! Danke - den Autoren!
Ich würde aber gerne den Startartikel ausklammern - wie könnte das funktionieren?

Verfasst: Mo 10. Jul 2006, 12:33
von i-fekt
Du solltest eine aktuellere Artikelliste nutzen, diese hier scheint schon sehr alt zu sein und bei den neuen Contenido-Versionen hat sich einiges geändert.
Verfasst: Di 11. Jul 2006, 08:30
von joma
Die Artikelliste ist schon OK.
Modulname : News
* Author(s) : Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 12.08.2005
Ich verwende die Contenido-Version 4.6.8.5
Bin nur durch die Forum-Suche nach "Blättern" in die Abteilung 4.4.x reingerutscht.
Ich hab mich wahrscheinlich falsch ausgedrückt. Es geht um das Blättern im Artikel. Ich habe das oben genannte Blätter-Modul von snafoo in den einzelnen Artikeln eingebaut.
prev -1-2-3-4-next
Der erste Artikel ist aber immer die Artikelliste, also der Startartikel in dieser Kategorie - den würde ich aber gerne ausgeklammert haben.
Vielleicht wird alles klarer, wenn man die Seite anschaut.
http://www.auner-aufbau.at/cms/front_co ... p?idcat=79
Wenn man dann eben den ersten Artikel auswählt, sieht man unten das Blättermodul und man sieht, dass man schon auf Seite 2 steht. Blättert man nun nach vor (1), so kommt man zur Artikelliste.
Verfasst: Mo 11. Sep 2006, 05:59
von smart
halousi hat geschrieben:erst einmal vielen dank für dieses tolle modul. ich habe es nun schon seit einiger zeit im einsatz und es funktioniert soweit prima. jetzt ist mir nur aufgefallen, dass wenn man eine bestimmte anzahl von artikeln eingestellt hat die navigation endlos lang wird und irgendwann nicht mehr auf die seite passt, bzw umbricht.
könnte man vieleicht das modul noch so erweitern, dass z.B. die ersten 5 artikel und der letzte artikel angezeigt werden?:
irgendwie so:
zurück 1/2/3/4/5/6/7/.../21 vor
viele grüße
hanes
Das würde mich auch brennend interessieren! Erster und letzter Artikel immer fest, weitere 10 flexibel, dann letzter Artikel. Hat jemand schon in der Richtung etwas entwickelt? Außerdem würde mich interessieren, ob eine alfabetische Sortierung anhand der Überschrift möglich ist...
Eventuell könnte man sich hieran orientieren:
http://contenido.org/forum/viewtopic.php?t=9619
Allerdings fehlen mir (noch) die PHP-Kenntnisse dazu...
Verfasst: Sa 30. Sep 2006, 22:31
von smart
Niemand? *bump*
Verfasst: Mo 13. Nov 2006, 19:29
von smart
*schieb*