Flex32 hat geschrieben:ja ok was soll ich noch sagen,im errolog steht nix drinn, und ich habe die version von der ersten seite benutzt
[/code]
Um es einfacher zu machen hier der Code Artikelliste-- Urspung Snoopy Seite 1/ Code verbessert Bartekk Seite 2/ Andere kleine Fehler ausgebessert von versch. Seiten/ Modul ohne blättern. Artikelbegrenzung auf 55
----------->INPUT
Code: Alles auswählen
/** 
* Artikelliste 
* 
* Liste von Artikeln mit mehreren Daten basierend 
* auf 4fb referenz modul 
* 1.Gibt die Subheadline eines Artikel mit aus 
* 2.Anschnitte nur nach ganzen Wörtern 
* 3.Thumnails werden vernünftig berechnet 
* 4.Image für Erzeugung von Thumbs kann gewählt werden 
* Author : Evert Smit / Dirk Uptmoor / Peter Beauvain 
* Copyright : None 
* Created : 13-07-03 
* Modified : 16-08-02 /20-09-03 upt /02-02-04 Beau 
*/ 
// selected category 
$selected = "CMS_VALUE[0]"; 
$seldir = "CMS_VALUE[9]"; 
$selimg = "CMS_VALUE[11]"; 
//funktion für die checkboxen 
function d_checked($which) { 
  if ($which != "") { 
    return "checked"; 
  } 
} // end function 
echo "<table cellspacing="0" cellpadding="2" border="0"> 
         <tr bgcolor="#E8E8EE" valign="top"> 
            <td></td> 
            <td><input type="checkbox" value="on" ".d_checked("CMS_VALUE[14]")." name="CMS_VAR[14]"></td> 
            <td width="120">Ausgabe mit Startartikel</td> 
            <td></td> 
<td>Kategorie wählen:<br> 
          
<select name="CMS_VAR[0]">"; 
if($selected!="0" && $selected!=""){ 
             echo"<option value="0">--- kein ---</option>"; 
            }else{ 
            echo"<option selected="selected" value="0">--- kein ---</option>"; 
            } 
            // fetch all categorys 
            $query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ". 
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ". 
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ". 
                     "AND C.visible=1 ORDER BY A.idtree"; 
            // execute query 
            $db->query($query); 
            // loop result and build the options 
            while ($db->next_record()) { 
              // indent spacer 
              $spaces = "|"; 
              // how many levels 
              $levels = $db->f("level"); 
              for ($i = 0; $i < $levels; $i ++) { 
                // add 2 spaces for every level 
                $spaces = $spaces . "--"; 
              } // end for 
              
              $spaces .= ">"; 
              if ($selected == $db->f("idcat")) { 
                // selected category 
                echo "<option selected="selected" value="". $db->f("idcat") ."">". $spaces . $db->f("name") ."</option>"; 
              } else { 
                // category 
                echo "<option value="". $db->f("idcat") ."">". $spaces . $db->f("name") ."</option>"; 
              } // end if 
            } // end while 
echo "</select>"; 
        
echo "</td> 
<td></td>      
</tr> 
      <tr valign="top"> 
         <td></td> 
         <td></td> 
         <td width="120"></td> 
            <td></td> 
            <td>Überschrift: (wenn leer, keine Ausgabe)<br> 
               <input type="text" name="CMS_VAR[2]" value="CMS_VALUE[2]" size="24"></td> 
         </tr> 
         <tr bgcolor="#E8E8EE" valign="top"> 
            <td></td> 
            <td> <input type="checkbox" value="on" ".d_checked("CMS_VALUE[4]")." name="CMS_VAR[4]"> </td> 
            <td width="120">Ausgabe der Artikel-Headline</td> 
            <td></td> 
            <td>Angezeigte Zeichen Artikel-Headline:<br> 
               <input type="text" name="CMS_VAR[3]" value="CMS_VALUE[3]" size="24"></td> 
         </tr> 
         <tr valign="top"> 
            <td></td> 
            <td><input type="checkbox" value="on" ".d_checked("CMS_VALUE[5]")."  name="CMS_VAR[5]"></td> 
            <td width="120">Ausgabe der Artikel-Subheadline:</td> 
            <td></td> 
            <td>Angezeigte Zeichen Artikel-Subheadline:<br> 
               <input type="text" name="CMS_VAR[6]" value="CMS_VALUE[6]" size="24"></td> 
         </tr> 
         <tr bgcolor="#E8E8EE" valign="top"> 
            <td></td> 
            
<tr bgcolor="#E8E8EE" valign="top"> 
            <td></td> 
            <td><input type="checkbox" value="on" ".d_checked("CMS_VALUE[7]")."  name="CMS_VAR[7]" ></td> 
            <td width="120">Ausgabe der Thumbnails:</td> 
            <td></td> 
            <td>Bildcontainer für Thumbnail Quelle:<br>"; 
                
$db  = new DB_Contenido; 
$query = "SELECT output AS out, name AS beschreibung FROM ".$cfg["tab"]["mod"]." "; 
$db->query($query); 
echo"<select name="CMS_VAR[11]">"; 
echo"<option value="kein">-- kein --</option> "; 
while ($db->next_record()) { 
$frontendpath = $db->f("out"); 
$name = $db->f("beschreibung"); 
$rest = substr("$frontendpath", 3, 30); 
$find = strpos($rest,"CMS_IMG"); 
if ($find === false) { 
} 
else { 
$ok = substr($rest, $find, 10); 
$nummer = substr($ok, 8, 1); 
?> 
            <option value="<?php echo $nummer ?>"<?php if ($selimg == $nummer) echo " selected" ?>><?php echo $db->f("beschreibung") ?> 
<? 
} 
} 
echo" </option> </select> "; 
echo"</td> 
</tr> 
<td></td><td></td> 
<td width="120">Thumbnail Ordner</td> 
<td></td><td>Bitte wählen:<br><select name="CMS_VAR[9]" size="1">"; 
echo"<option value="kein">-- kein --</option>"; 
$db  = new DB_Contenido; 
$query = "SELECT DISTINCT dirname FROM ".$cfg["tab"]["upl"]." ORDER BY dirname ASC"; 
$db->query($query); 
while ($db->next_record()) { 
?> 
            <option value="<?php echo $db->f("dirname") ?>"<?php if ($seldir == $db->f("dirname")) echo " selected" ?>><?php echo $db->f("dirname") ?></option> 
<?php 
   } 
echo "</select></td> 
<tr valign="top"> 
<td></td> 
<td></td> 
<td></td> 
<td></td> 
<td></td>
</tr> 
</table> 
"; //Ende 
---------OUTPUT
Code: Alles auswählen
<? 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Erweiterte Artikel liste 
* 
* Liste von Artikeln mit mehreren Daten basierend 
* auf 4fb referenz modul 
* 1.Gibt die Subheadline eines Artikel mit aus 
* 2.Anschnitte nur nach ganzen Wörtern 
* 3.Thumnails werden vernünftig berechnet 
* 4.Image für Erzeugung von Thumbs kann gewählt werden 
* Author : Evert Smit / Dirk Uptmoor / Peter Beauvain 
* Copyright : None 
* Created : 13-07-03 
* Modified : 16-08-02 /20-09-03 upt /02-02-04 Beau 
************************************************/ 
//Frontendpfad ermitteln 
$query = "SELECT  frontendpath FROM ".$cfg["tab"]["clients"]." WHERE idclient='".$client."'"; 
$db->query($query); 
$db->next_record(); 
$frontendpath = $db->f("frontendpath"); 
$startarton = "AND CATART.is_start = '0' AND"; 
//soll der startartikel mit ausgegeben werden?. 
$print_startartikel = "CMS_VALUE[14]"; 
if($print_startartikel !=""){ 
$startarton = "AND"; 
} 
//die Überschrift wird ausgegeben wenn sie nicht leer ist. 
$print_mainheadline = "CMS_VALUE[2]"; 
//soll headline ausgegeben werden? 
$print_headline = "CMS_VALUE[4]"; 
//soll subheadline ausgegeben werden? 
$print_subheadline = "CMS_VALUE[5]"; 
//soll ein thumnail ausgegeben werden? 
$print_thumbnail = "CMS_VALUE[7]"; 
//thumbnail breite 
$thumbnail_width = "CMS_VALUE[8]"; 
//wenn thumbnails = 0 
$imagetag = ""; 
// second db class instance 
$db2 = new DB_Contenido; 
// selected category 
$selcat = "CMS_VALUE[0]"; 
if($selcat!="0" && $selcat!=""){ 
// select all articles in category widthout start article
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang, ARTLANG.lastmodified FROM ".$cfg["tab"]["cat_art"]." AS CATART, ".
$cfg["tab"]["art_lang"]." AS ARTLANG ".
"WHERE CATART.idcat = '$selcat' AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' "." $startarton " ."ARTLANG.online = '1' ORDER BY ARTLANG.lastmodified DESC limit 55";
// execute query 
$db->query($query); 
unset($articleID); 
unset($linkID); 
// get id's of sub articles 
while ($db->next_record()) { 
$articleID[] = $db->f("idartlang"); 
$linkID[] = $db->f("idart"); 
} // end while 
/****************** start table **************************/ 
echo ' 
<table border="0" borderstyle="dashed" cellpadding="1" cellspacing="2" width="100%" 
'; 
/**** Überschrift der Artikelliste wird ausgegeben, wenn nicht leer ********/ 
if($print_mainheadline !=""){ 
echo ' 
 <tr> 
<td bgcolor="#efefef" border="0" colspan="3" class="newsheadline"> CMS_VALUE[2] <br>  </td> 
</tr> 
<tr> 
<td height="5" class="text">  </td> 
<td align="right" > </td> 
</tr> '; 
} 
if($print_mainheadline ==""){ 
echo ' 
<tr> 
<td colspan="2" class="newsheadline"> <br></td> 
<td align="right">  </td> 
</tr> 
<tr> 
<td bgcolor="#ffffff" class="text">  </td> 
<td align="right" bgcolor="#ffffff"> </td> 
</tr> 
'; 
} 
// Loop through articles 
if (is_array($articleID)) { 
    foreach ($articleID as $key => $value) { 
    // select all CMS variables of the article 
    if($print_headline!="0" && $print_headline!=""){ 
    $sql = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '1'"; 
    $db->query($sql); 
    $db->next_record(); 
    
  $headline = urldecode($db->f("value")); 
for ($j=CMS_VALUE[3]; $j < CMS_VALUE[3]+20; $j++) 
{ 
$headline1 = substr($headline , 0, $j); 
$cut = substr($headline, $j); 
if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) { 
$headline= substr($headline , 0, $j); 
$headline .= ' .....'; 
       } 
    } 
} 
$cfgTab_art_lang = $cfg['tab']['art_lang']; 
$cfgTab_content = $cfg['tab']['content']; 
$sql = "SELECT A.author AS author, B.lastmodified AS lastmod FROM $cfgTab_art_lang AS A, $cfgTab_content AS B WHERE A.idartlang='$value' AND B.idartlang=A.idartlang ORDER BY B.lastmodified DESC"; 
$db->query($sql);$db->next_record(); 
$modifydate= date("d.m.y",strtotime($db->f("lastmod"))); 
$modifytime= date("H:i",strtotime($db->f("lastmod"))); 
    if($print_subheadline!="0" && $print_subheadline!=""){ 
    $sql_subheadline = "SELECT * FROM ".$cfg["tab"]["content"]." WHERE idartlang = '$value' AND idtype = '1' AND typeid = '2'"; 
    $db->query($sql_subheadline); 
    $db->next_record(); 
   $subheadline = urldecode($db->f("value")); 
for ($i=CMS_VALUE[6]; $i < CMS_VALUE[6]+20; $i++) 
{ 
$subheadline1 = substr($subheadline , 0, $i); 
$cut = substr($subheadline, $i); 
if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) { 
$subheadline= substr($subheadline , 0, $i); 
$subheadline .= ' .....'; 
       } 
    } 
} 
/******************* begin thumbnails **********************************/ 
if($print_thumbnail !="0" && $print_thumbnail !=""){ 
    // select and resolve image path 
    $imagesql="select value from ".$cfg["tab"]["content"]." where idartlang='$value' and idtype='4' and typeid='CMS_VALUE[11]'"; 
    $db2->query($imagesql); 
    $db2->next_record(); 
    $image_id= $db2->f("value"); 
    // get image name and path 
    $imagesql="select * from ".$cfg["tab"]["upl"]." where idupl='$image_id'"; 
    $db2->query($imagesql); 
    $db2->next_record(); 
    $webdir='upload/'; 
    $thumbdir='CMS_VALUE[9]'; 
    $filedir=$frontendpath; 
    $imagelocation=$filedir.$webdir.$db2->f('dirname').$db2->f('filename'); 
    $thumblocation=$filedir.$webdir.$thumbdir.$db2->f('filename'); 
    if (!file_exists($thumblocation)){ 
    // create thunbnail 
    $fileinformation=getimagesize($imagelocation); 
    $imagewidth = $fileinformation[0]; 
    $imageheight = $fileinformation[1]; 
    $imagetype=$db2->f('filetype'); 
    $imageattributes = $fileinformation[3]; 
    //$newfile= $last_id."-image.".$imagetype; 
    $target=$thumblocation; 
    if ( !(copy($imagelocation,$target))) 
    { 
    echo "Could not copy file to destintaion., Command returned Error Message. Please check your log files. ".$imagelocation." ".$target; 
die; 
    } 
    //create thumbnails 80xrelational height; neu $thumbnail_width x proportionale Höhe 
    // Determine what filetype and set pointer to source image 
  
    $original_image=ImageCreateFromJPEG($target); 
    if (!$original_image){ 
    echo 'Error getting image from '.$target.'.'; 
    } 
$palette_image =$filedir.$webdir.$thumbdir.'vorlage.jpg'; 
$thumbsize = getImageSize($palette_image); 
$maxdim = $thumbsize[0]; 
$draw_from = $imagelocation; 
$dim = GetImageSize($draw_from); 
if($dim[0]>$dim[1]) 
{ 
$to_w = $maxdim; 
$to_h = round($dim[1]*($maxdim/$dim[0])); 
$to_x = 0; 
$to_y = round($maxdim-$to_h)/2; 
} 
else 
{ 
$to_h = $maxdim; 
$to_w = round($dim[0]*($maxdim/$dim[1])); 
$to_y = 0; 
$to_x = round($maxdim-$to_w)/2; 
} 
if($dim[2]==1) {$from = ImageCreateFromGIF($draw_from);} 
elseif($dim[2]==2) {$from = ImageCreateFromJPEG($draw_from);} 
elseif($dim[2]==3) {$from = ImageCreateFromPNG($draw_from);} 
$thumb = ImageCreateFromJPEG($palette_image); 
// $set_bg_colour = ImageColorAllocate($thumb,255,0,0); 
// $fill_bg_colour = ImageFill($thumb,0,0,$set_bg_colour); 
imagecopyresampled($thumb, $from, $to_x, $to_y, 0,  
0, $to_w, $to_h, $dim[0], $dim[1]); 
//echo $target; 
    // set image width and height of thunbnail and put pointer for filesytsem 
    $thumbfile= $db2->f('filename'); 
    $target_thumb=$thumblocation; 
    $t_width=$thumbnail_width; 
    // calculating height to maintain ratio 
    $t_height=($thumbnail_width/$imagewidth)*$imageheight; 
    // remove digits to get solid number 
    list ($t_height,$notimportand)=explode('.',$t_height); 
    // create blank image 
$thumb_image=imagecreatetruecolor($t_width,$t_height); 
//     $thumb_image=imagecreate($t_width,$t_height); 
  //   $thumb_image=ImageCreateFromJPEG($palette_image); 
    // resize image based on height and width 
    imagecopyresampled($thumb_image,$original_image,0,0,0,0,$t_width,$t_height,$imagewidth,$imageheight); 
    // store image on file system 
    // requires different functionf for either gif or jpeg 
    
    imagejpeg($thumb,$target_thumb); 
    imagedestroy($thumb); 
    imagedestroy($original_image); 
    } 
    $image=$webdir.$thumbdir.$db2->f('filename'); 
    $imagetag="<img src=" $image " border=0>"; 
$image=$webdir.$thumbdir.$db2->f('filename');
   
//wenn Artikel kein Bild hat   
if (!$db2->f('filename')){
$image=$webdir.$thumbdir.'vorlage.jpg';
}
//Ende
$imagetag="<img src=" $image " border=0>";
} // ende wenn keine thumbs gewünscht
/**************** Ende Thumbnails ***********************/
// link 
$link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s"); 
/***********************Anfang Tablezeile für Artikelliste**********************/ 
echo ' 
  <tr>
    <td colspan="3" class="trnews1" cellpadding="2" ><div align="center"></div></td>
  </tr>
  <tr> 
<td colspan="3" class="trnews1" cellpadding="2" ><A HREF="'.$link.'">'.$headline.'</a></td> 
</tr> 
<tr> 
<td width="$thumbnail_width" align="left" bgcolor="#ffffff"><A HREF="'.$link.'">'.$imagetag.'</a></td> 
<td colspan="2" valign="top" bgcolor="#ffffff" class="newstext">'.$subheadline.'</td> 
</tr>
<tr>
  <td align="left" bgcolor="#ffffff"><span class="trnews1"><img  src="upload/design/date.gif" border="0" align="middle" valign"bottom"></span></td>
  <td align="center" class="trnews2"><A HREF="'.$link.'">'.$modifydate.'</a></td>
  <td valign="bottom"><a  href="'.$link.'"><img  src="upload/design/mehr.gif" border="0" align="right"></a></td>
  
</tr> 
<tr><td bgcolor="#FFFFFF"><IMG SRC="upload/design/fueller.gif" WIDTH="1" HEIGHT="2" 
BORDER="0"></td></tr> '; 
} // end while 
unset($headline); 
unset($headline1); 
unset($subheadline); 
unset($subheadline1); 
unset($thumb);
 
} // end foreach 
} // end if (is_array) 
echo '</table>'; 
/***********************ende Table**********************/ 
?> 
Leicht angepasst an mein versuchlayout
Gruss,Alex