Grundlage ist der Code des Beispiel-Mandanten (der übrigens etliche Fehler enthält). Das Modul bei contenido-module.de sieht ähnlich aus, enthält aber mehr Funktionen. Angegeben ist der Output/Ausgabebereich-Code:
Code: Alles auswählen
<?php
$selcat = "CMS_VALUE[0]"; // selected category
if($selcat!="0" && $selcat!=""){
// select all articles in category
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang 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' AND ".
         "ARTLANG.online = '1' ORDER BY CATART.idart DESC";
// 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
// Table header
echo '
<table width="165" border="0" cellspacing="0" cellpadding="0">
<tr><td height="30" colspan="2" ></td></tr>
<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>
<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>';
// Loop through articles
if (is_array($articleID)) {
    foreach ($articleID as $key => $value) {
          // select all CMS variables of the article
          $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"));
          if (strlen($headline) > CMS_VALUE[3]) { 
            $headline = substr($headline, 0, CMS_VALUE[3]);
            $headline .= '..';
          }
          // link
          $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=$linkID[$key]&m=$m&s=$s");
          
          echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px"><a href="'.$link.'">'.$headline.'</a></td></tr>';
          
    } // end while
        unset($headline);
    } // end foreach
} // end if (is_array)
echo '</table><br>';
?>Wer das nicht möchte, muss die erste Abfrage in
Code: Alles auswählen
$query = "SELECT ARTLANG.idart, ARTLANG.idartlang 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' AND CATART.is_start = '0' AND ".
         "ARTLANG.online = '1' ORDER BY CATART.idart DESC";Natürlich geht es auch kürzer:
Code: Alles auswählen
<?php
$selcat = "CMS_VALUE[0]"; // selected category
if($selcat!="0" && $selcat!=""){
   // select all articles in category without start article
   $query = "SELECT CONTENT.value AS headline, ARTLANG.idart AS id FROM ".
             $cfg["tab"]["cat_art"]." AS CATART, ".
             $cfg["tab"]["art_lang"]." AS ARTLANG, ".
             $cfg["tab"]["content"]." AS CONTENT ".
            "WHERE CATART.idcat = '$selcat' AND CATART.is_start = '0' ".
            "AND CONTENT.idartlang = ARTLANG.idartlang AND CONTENT.idtype = '1' AND CONTENT.typeid = '1' ".
            "AND ARTLANG.idart = CATART.idart AND ARTLANG.idlang = '$lang' ".
            "AND ARTLANG.online = '1' ORDER BY CATART.idart DESC";
   // execute query
   $db->query($query);
   if ($db->num_rows() > 0) {
      // Table header
      echo '<table width="165" border="0" cellspacing="0" cellpadding="0">';
      echo '<tr><td height="30" colspan="2" ></td></tr>';
      echo '<tr><td height="21" width="22" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #F7C473; border-style: solid; background-color: #FCF2D5"><img src="images/wuerfel.gif" width="22" height="21" border="0"></td>';
      echo '<td width="143" style="border: 1px; border-left:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px" class="punkte">CMS_VALUE[2]</td></tr>';
      while ($db->next_record()) {
 
         $headline = urldecode($db->f("headline"));
         if (strlen($headline) > CMS_VALUE[3]) { 
            $headline = substr($headline, 0, CMS_VALUE[3]);
            $headline .= '..';
         }
         // link
         $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$selcat&idart=".$db->f("id")."&m=$m&s=$s");
          
         echo '<tr><td colspan="2" class="text" height="22" style="border: 1px; border-top:0px; border-color: #F7C473; border-style: dashed; background-color: #FCF2D5; padding-left:10px"><a href="'.$link.'">'.$headline.'</a></td></tr>';
      }
      unset($headline);
      echo '</table><br>';
   } // end while
} // end if
?>HerrB