Seite 1 von 4

Blätterbare Artikelliste?

Verfasst: Fr 11. Nov 2005, 00:41
von jost
Ich benötige eine blätterbare Artikelliste, kriege es abe rnicht hin, die bestehenden zu modifizieren. Ist es denn sehr aufwändig, das zu tun - und könnte man, wenn man einmal weiß, wie der Hase läuft, dass dann nichtg auch quasi schnell auf die anderen Artikellisten anwenden? Herr B!!!! Bald ist doch Weihnachten (okay, okay)...

Verfasst: Fr 11. Nov 2005, 00:44
von HerrB
Bald ist doch Weihnachten (okay, okay)...
D.h. ich kriege auch Geld dafür? :wink:

Blättern ist nicht so einfach. Kann Dir da aus Zeitgründen gerade nicht helfen. Ansonsten wäre es schön, wenn Du bei dem entsprechenden Thema postest, nicht bei Änderungen V4.6.x - geteilt.

Gruß
HerrB

Verfasst: Fr 11. Nov 2005, 01:30
von jost
Huch, ich habe einen Thread eröffnet. Geld liegt nicht so rum, aber ich schicke Dir eine Johnny-Cash-DVD, Wort!

Verfasst: Fr 11. Nov 2005, 10:01
von Rotschopf
Hallo,

also es gibt da eine für die Version 4.5, diese Liste gibt aber den Artikeltext aus.

Schau doch mal hier nach
http://www.contenido.org/forum/viewtopic.php?t=9619

Die sollte auch für die 4.6 laufen...

Verfasst: Di 15. Nov 2005, 13:31
von Simone
Meine ist von 4.4.5, läuft aber auf 4.6.2 auch ohne Probleme. Ist fast die Urfassung (nur ein paar fontbefehle habe ich angepasst). Im OUTPUT oben kannst Du die Anzahl der Anzeigen pro Seite einstellen.


Name
Artikelliste blätterb.


INPUT

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :            Artikelblaettern
* Author      :     agon
* Copyright   :     Contenido - four for business
* Created     :     22-08-2002
* Modified    :     22-08-2002
* Modified    :     06-2004, Matthias Blass, tabellenfreier Output
************************************************/

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr>
          <td>Artikel/Seite:</td>
          <td><input type=\"text\" name=\"CMS_VAR[8]\" value=\"CMS_VALUE[8]\"></td>
        </tr>
        <tr>
          <td>Länge Texteinblendung:</td>
          <td><input type=\"text\" name=\"CMS_VAR[9]\" value=\"CMS_VALUE[9]\"></td>
        </tr>
      </table>";

OUTPUT

Code: Alles auswählen

<?php
$anzahl = "CMS_VALUE[8]";
if($anzahl<1) {$anzahl=10;}
$laenge = "CMS_VALUE[9]";
if($laenge<1) {$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 "<div>";


$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 ("&auml;" => "Š", "&ouml;" => "š", "&uuml;" => "Ÿ", "&szlig;" => "§", "&Auml;" => "€", "&Ouml;" => "…", "&Uuml;" => "Ÿ", "&nbsp;" => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
   $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--;
}

$modifydate= date("d.m.y",strtotime($db->f("lastmod")));


if($blatt=="") {$blatt=0;}
$blattmax=ceil($j/$anzahl)-1;
$blatt1 = $blatt+1;
$blattmax1 = $blattmax+1;
if ($j>$anzahl)
{

}

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 '<div>';
 if ( $i>0 && $artikel[$i][2] == $artikel[$k][2] )
 {

 } else
 {
  echo "<div class=\"trenner\"><img src=\"images/1x1_blue.gif\" alt=\"\" width=\"378\" height=\"1\" /></div>";
echo '<p><em>Artikel vom ('.$artikel[$i][2].')</em></p>';
 }
 echo '<span class="headline">'.$artikel[$i][3].'</span> ('.$artikel[$i][2].')<p> '.$artikel[$i][5].' &nbsp;&nbsp;&raquo; <a href="'.$sess->url("$navmod_link").'" title="weiter zum Artikel"><strong>weiterlesen</strong></a> ...</p><br>
</div>';
}


if ($j>$anzahl)
{
 echo "<p align=\"right\">Seite ".$blatt1." von ".$blattmax1."  | ";
 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").'" title="diese Seite aufrufen">'.$k.'</a>';
  }
 }
}
 echo '</p></div>';
}
?>
Simone

Verfasst: Di 15. Nov 2005, 13:51
von jost
Super, lieben Dank :-)

Verfasst: Di 15. Nov 2005, 14:31
von HerrB
Wobei ich drauf Hinweisen möchte, dass dieses Modul vermutlich nicht unbedingt die erwarteten Ergebnisse liefert, wenn $cfg["startarticle_compatible"] = false gilt (d.h. z.B. bei V4.6 bei Neuinstallation).

Das genügt nicht in V4.6.x, wenn der Kompatibilitätsmodus nicht aktiv ist:

Code: Alles auswählen

CATART.is_start='0'
Ggf. wird der Startartikel doch angezeigt.

Gruß
HerrB

Verfasst: Di 15. Nov 2005, 21:58
von jost
Lieber Herr B,

da hast Du Recht - der Startartikel wird mit ausgegeben, auch Umlaute werden zerschossen. Kannst Du mir helfen - ich habe nicht ganz verstanden, was ich wo verändern muss, damit der Startartikel mit ausgegeben wird. Aber ich habe ja auch Fieber ;-) Wäre lieb und ganz herzlichen Dank!!

Verfasst: Di 15. Nov 2005, 22:20
von HerrB
Leider nicht kurzfristig. Die Berücksichtigung des Startartikels in V4.6 efordert Änderungen im SQL, die Zeit habe ich gerade nicht.

Die Umlaute sollten wieder funktionieren, wenn man diesen Array korrigiert:

Code: Alles auswählen

$array = array ("&auml;" => "Š", "&ouml;" => "š", "&uuml;" => "Ÿ", "&szlig;" => "§", "&Auml;" => "€", "&Ouml;" => "…", "&Uuml;" => "Ÿ", "&nbsp;" => " ", """ => "\"", "<" => "<", ">" => ">", "&" => "&");
Š -> ä, ö, ü, ß, Ä, Ö, ... usw.

Gruß
HerrB

Verfasst: Di 15. Nov 2005, 22:24
von jost
Schon mal lieben Dank - das ging. Wenn Du mal Zeit und Lust hast.... mich würde es freuen ;-)

Verfasst: Do 17. Nov 2005, 18:24
von peanut
Hallo Herr B.

Ja eine funktionierende Blätter Funktion wäre wirklich notwendig ...... fast schon ein Muss für die 4.6.2 News Artikelliste

Würde auch was spenden !!!

Verfasst: Do 17. Nov 2005, 18:42
von HerrB
http://www.communido.net -> Sponsoring via PayPal.

Gruß
HerrB

Verfasst: Fr 18. Nov 2005, 20:21
von peanut
du musst das machen wie A. Kummer von w3concepts.net - der baut die Module und verkauft dann Lizenzen zum erschwinglichen Preis

Wenn ich nun was spende ( was ich wirklich gerne mache ) weiss ich aber nicht für was es rausgehauen wird ( Büchsenfleisch für die Katze, Bölkstoff etc ... ) :D

Deshalb würde ich allen Codern hier raten das so zu machen denn das ist die einzige Lösung aller Probleme der Zukunft mit Ähhmmm und Php, Java, CSS und wie nochmal ..... :roll:

Da die Möglichkeiten nun allmählich unbegrenzt werden braucht man auch etwas mehr stuff ( auch weil die alte Version schon fast alle Module hatte, die nun nicht mehr so gehen wie sie könnten - wie z.B: die Modulübersetzung - geniales Teil, doch leider gehen alle alten Module damit nicht )

Ich weiss auch das dies eigentlich ein Open Source Objekt ist aber wenn jeder das macht was er am besten kann ist allen mit geholfen

to be continued ..... Feddback willkommen 8)

Verfasst: So 20. Nov 2005, 16:03
von Simone
jost hat geschrieben:Lieber Herr B,

da hast Du Recht - der Startartikel wird mit ausgegeben, auch Umlaute werden zerschossen.
Stimmt, bei mir wird auch der Startartikel ausgegeben, aber die Umlaute sind heil geblieben.

Simone

Verfasst: Di 29. Nov 2005, 20:05
von peanut
Hallo Hrr B.

was genau müsste man denn im SQL abändern damit die Blätterfunktion geht ?

Danke
Gruss
Peanut