Hi tmj,
das Modul funktioniert bestens - Danke! 
Vorschaubilder werden aber nur von 2 Elementen angezeigt - also wenn in der Headline oder dem zweiten CMS-Element (Subheadline) ein Bild eingefügt wurde. Ich plaziere das Vorschaubild aber in einem zusätzlichen CMS-Element; das wird nicht eingelesen.
Ich habe versucht, das Modul entsprechend zu erweitern - ohne Erfolg. 
Würdest du, tmj, oder ein anderer Experte mir bitte helfen: Vorschaubilder sollen aus einem 3. CMS-Element eingelesen werden.
Ich liefere meinen Versuch hier mit - (lässt sich ja ggf. wieder löschen.)
Code: Alles auswählen
ContentAllocation
Autor: Tilman Jahn (tmj)
modificated: salsa
Version 1.1
Partly based on:
Modul:         Article List Advanced V4.6.x V1.4
Author:        Björn Behrens (HerrB)
Created:       19.02.2006
Specification: Rezeptionist
/********************************
    Modul ContentAllocation - INPUT
    Version 1.1
    Author: Tilman Jahn, tmj digital
*********************************/
#Includes
cInclude("frontend", "includes/functions.input.helper.php");
# Initialization
$bDebug      = false;
$iDataStart  = 20;
$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
unset ($aSettings);
# Base settings
$aSettings = array();
$aSettings["ArticleCount"]       = "CMS_VALUE[0]";
$aSettings["ArticlePerPage"]     = "CMS_VALUE[1]";
$aSettings["SortBy"]             = "CMS_VALUE[2]";
$aSettings["SortDir"]            = "CMS_VALUE[3]";
$aSettings["ShowStart"]          = "CMS_VALUE[4]";
$aSettings["Category"]           = "CMS_VALUE[5]";
$aSettings["SampleArt"]          = "CMS_VALUE[6]";
$aSettings["HeadlineIdentifier"] = "CMS_VALUE[7]";
$aSettings["HeadlineLength"]     = "CMS_VALUE[8]";
$aSettings["Elements"]           = "CMS_VALUE[9]";
$aSettings["CatTypeSel"]         = "CMS_VALUE[10]";
$aSettings["AddCats"]            = "CMS_VALUE[11]";
$aSettings["SampleCat"]          = "CMS_VALUE[12]";
$aSettings["DateType"]           = "CMS_VALUE[97]";
$aSettings["Date"]               = "CMS_VALUE[98]";
$aSettings["Template"]           = "CMS_VALUE[99]";
# Checking base settings
if (!is_numeric($aSettings["ArticleCount"]) || $aSettings["ArticleCount"] < 0) {
   $aSettings["ArticleCount"] = 5;
}
if (!is_numeric($aSettings["ArticlePerPage"]) || $aSettings["ArticlePerPage"] < 0) {
   $aSettings["ArticlePerPage"] = 0; // Deactivating page browsing
}
if (!is_numeric($aSettings["Category"]) || $aSettings["Category"] <= 0) {
   $aSettings["Category"] = 0;
}
if (!is_numeric($aSettings["SampleCat"]) || $aSettings["SampleCat"] <= 0) {
   $aSettings["SampleCat"] = $aSettings["Category"];
}
if (!is_numeric($aSettings["SampleArt"]) || $aSettings["SampleArt"] < 0) {
   $aSettings["SampleArt"] = 0;
}
if (strlen($aSettings["HeadlineIdentifier"]) > 50) {
   $aSettings["HeadlineIdentifier"] = "";
}
if (!is_numeric($aSettings["HeadlineLength"]) || $aSettings["HeadlineLength"] < 0) {
   $aSettings["HeadlineLength"] = 0;
}
if (!is_numeric($aSettings["Elements"]) || $aSettings["Elements"] < 0) {
   $aSettings["Elements"] = 0;
}
if ($aSettings["CatTypeSel"] == "" || ($aSettings["AddCats"] == "" && $aSettings["CatTypeSel"] == "selected")) {
   $aSettings["CatTypeSel"] = "none";
}
# Detail settings
if ($aSettings["Elements"] > 0) {
   for ($i = 0; $i < $aSettings["Elements"]; $i++) {
      $iElementType       = $iDataStart + ($i * 10);
      $iElementIdentifier = $iElementType + 1;
      $iElementWidth      = $iElementType + 2;
      $iElementHeight     = $iElementType + 3;
      $iElementPadding    = $iElementType + 4;
      $iElementImgAlign   = $iElementType + 5;
      $aSettings["k".$i] = array();
      $aSettings["k".$i]["ElementType"]    = "CMS_VALUE[$iElementType]"; // Text, Image, ExtractedImage
      $aSettings["k".$i]["Identifier"]     = "CMS_VALUE[$iElementIdentifier]";
      $aSettings["k".$i]["ElementWidth"]   = "CMS_VALUE[$iElementWidth]"; // Textlength or ImageWidth
      $aSettings["k".$i]["ElementHeight"]  = "CMS_VALUE[$iElementHeight]";
      $aSettings["k".$i]["ElementPadding"] = "CMS_VALUE[$iElementPadding]";
      $aSettings["k".$i]["ElementImgAlign"]= "CMS_VALUE[$iElementImgAlign]";
      # Check detail settings
      if ($aSettings["k".$i]["ElementType"] == "") {
         $aSettings["k".$i]["ElementType"] == "Text";
      }
      if ($aSettings["k".$i]["ElementType"] == "Text") {
         $aSettings["ElementHeight"] = 0;
         if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] < 0) {
            $aSettings["k".$i]["ElementWidth"] = 50;
         }
      } else if (!is_numeric($aSettings["k".$i]["ElementWidth"]) || $aSettings["k".$i]["ElementWidth"] <= 0 ||
                 !is_numeric($aSettings["k".$i]["ElementHeight"]) || $aSettings["k".$i]["ElementHeight"] <= 0) {
         $aSettings["k".$i]["ElementWidth"] = 0;
         $aSettings["k".$i]["ElementHeight"] = 0;
      }
      if (strlen($aSettings["Identifier"]) > 50) {
         $aSettings["Identifier"] = "";
      }
   }
}
echo '        <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";
echo '           <tr>'."\n";
echo '              <td class="text">'.mi18n("Primary Content Allocation Category:").'</td>'."\n";
//echo '              <td class="text">'.fncBuildCategorySelect("CMS_VAR[5]", $aSettings["Category"], 0, "").'</td>'."\n";
echo '              <td class="text">'.buildAllocationSelect("CMS_VAR[5]", $aSettings["Category"], "", "1").'</td>'."\n";
echo '           </tr>'."\n";
echo '           <tr>'."\n";
echo '              <td class="text" style="vertical-align: top;">'.mi18n("Additional Categories:").'</td>'."\n";
echo '              <td class="text">';
    if ($aSettings["CatTypeSel"] == "none") {
        echo '<input type="radio" name="CMS_VAR[10]" value="none" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").' ';
    } else {
        echo '<input type="radio" name="CMS_VAR[10]" value="none" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("None").' ';
    }
    if ($aSettings["CatTypeSel"] == "below") {
        echo '<input type="radio" name="CMS_VAR[10]" value="below" checked="checked" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").' ';
    } else {
        echo '<input type="radio" name="CMS_VAR[10]" value="below" onclick="document.getElementsByName(\'c'.$cnumber.'cbxAddCatSel\')[0].disabled = true;">'.mi18n("All below primary").' ';
    }
echo '           </tr>'."\n";
echo '           <tr>'."\n";
echo '              <td class="text">'.mi18n("Sort by:").'</td>'."\n";
echo '              <td class="text"><select name="CMS_VAR[2]">'."\n";
    if ($aSettings["SortBy"] == "" || $aSettings["SortBy"] == "CATART.idart") {
   echo '                <option value="ARTLANG.idart" selected>'.mi18n("Article ID").'</option>'."\n";
} else {
   echo '                <option value="ARTLANG.idart">'.mi18n("Article ID").'</option>'."\n";
}
    if ($aSettings["SortBy"] == "ARTLANG.created") {
    echo '                <option value="ARTLANG.created" selected>'.mi18n("Add Date").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.created">'.mi18n("Add Date").'</option>'."\n";
    }
    if ($aSettings["SortBy"] == "ARTLANG.lastmodified") {
    echo '                <option value="ARTLANG.lastmodified" selected>'.mi18n("Last Modified Date").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.lastmodified">'.mi18n("Last Modified Date").'</option>'."\n";
    }
    if ($aSettings["SortBy"] == "ARTLANG.published") {
    echo '                <option value="ARTLANG.published" selected>'.mi18n("Published Date").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.published">'.mi18n("Published Date").'</option>'."\n";
    }
    if ($aSettings["SortBy"] == "ARTLANG.title") {
    echo '                <option value="ARTLANG.title" selected>'.mi18n("Page Title (Backend)").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.title">'.mi18n("Page Title (Backend)").'</option>'."\n";
    }
    if ($aSettings["SortBy"] == "ARTLANG.pagetitle") {
    echo '                <option value="ARTLANG.pagetitle" selected>'.mi18n("Page Title (Frontend)").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.pagetitle">'.mi18n("Page Title (Frontend)").'</option>'."\n";
    }
    if ($aSettings["SortBy"] == "ARTLANG.summary") {
    echo '                <option value="ARTLANG.summary" selected>'.mi18n("Summary (Backend)").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.summary">'.mi18n("Summary (Backend)").'</option>'."\n";
    }
    if ($aSettings["SortBy"] == "ARTLANG.artsort") {
    echo '                <option value="ARTLANG.artsort" selected>'.mi18n("Sort No.").'</option>'."\n";
    } else {
    echo '                <option value="ARTLANG.artsort">'.mi18n("Sort No.").'</option>'."\n";
    }
    echo '              </select>'."\n";
    if ($aSettings["SortDir"] != "DESC") {
    echo '             <input type="radio" name="CMS_VAR[3]" value="ASC" checked>'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC">'.mi18n("Descending")."\n";
    } else {
    echo '             <input type="radio" name="CMS_VAR[3]" value="ASC">'.mi18n("Ascending").' <input type="radio" name="CMS_VAR[3]" value="DESC" checked>'.mi18n("Descending")."\n";
    }
echo '           </tr>'."\n";
echo '        </table>'."\n";
echo '        <table cellspacing="0" cellpadding="2" border="0" width="100%">'."\n";
echo '           <tr>'."\n";
echo '              <td colspan="2" class="textw_medium" style="background-color: #a9aec2; border: 1px solid #747488;">'.mi18n("Identify elements:").'</td>'."\n";
echo '           </tr>'."\n";
echo '           <tr>'."\n";
echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Sample Category:").'</td>'."\n";
echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildCategorySelect("CMS_VAR[12]", $aSettings["SampleCat"], 0, "if (document.forms[0].elements['CMS_VAR[12]'].value != 'CMS_VALUE[12]') { document.forms[0].elements['CMS_VAR[6]'].disabled = true; document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[6]'].disabled = false; document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}").' '.$sSubmitLink.'</td>'."\n";
echo '           </tr>'."\n";
echo '           <tr>'."\n";
echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Sample Article:").'</td>'."\n";
    if ($aSettings["SampleCat"] == 0) {
    $sDisabled = "disabled";
    } else {
    $sDisabled = "";
    }
echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildArticleSelect("CMS_VAR[6]", $aSettings["SampleCat"], $aSettings["SampleArt"], "if (document.forms[0].elements['CMS_VAR[6]'].value != 'CMS_VALUE[6]') { document.forms[0].elements['CMS_VAR[7]'].disabled = true; document.forms[0].elements['CMS_VAR[8]'].disabled = true; document.forms[0].elements['CMS_VAR[9]'].disabled = true; } else { document.forms[0].elements['CMS_VAR[7]'].disabled = false; document.forms[0].elements['CMS_VAR[8]'].disabled = false; document.forms[0].elements['CMS_VAR[9]'].disabled = false;}", $sDisabled).' '.$sSubmitLink.'</td>'."\n";
echo '           </tr>'."\n";
echo '           <tr>'."\n";
echo '              <td class="text" style="border-left:  1px solid #747488;">'.mi18n("Headline Element:").'</td>'."\n";
echo '              <td class="text" style="border-right: 1px solid #747488;">'.fncBuildTypeSelect("CMS_VAR[7]", $aSettings["SampleArt"], $aSettings["HeadlineIdentifier"], "'1','2','3','9','17'").' '.mi18n("Length (max.):").'</td>'."\n";
echo '           </tr>'."\n";
    if ($aSettings["Elements"] == 0) {
    $sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line
    } else {
    $sBottomStyle = "";
    }
echo '           <tr>'."\n";
echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'">'.mi18n("Additional elements:").'</td>'."\n";
echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'"><input type="text" name="CMS_VAR[9]" value="'.$aSettings["Elements"].'" size="3" title="'.mi18n("Set to a value above 0 to specify text or images as additional elements").'"> '.$sSubmitLink.'</td>'."\n";
echo '           </tr>'."\n";
if ($aSettings["Elements"] > 0) {
   for ($i = 0; $i < $aSettings["Elements"]; $i++) {
      $iElementType       = $iDataStart + ($i * 10);
      $iElementIdentifier = $iElementType + 1;
      $iElementWidth      = $iElementType + 2;
      $iElementHeight     = $iElementType + 3;
      $iElementPadding    = $iElementType + 4;
      $iElementImgAlign   = $iElementType + 5;
      echo '           <tr>'."\n";
      echo '              <td class="text" style="border-left:  1px solid #747488;padding-left: 20px;vertical-align: top;">'.sprintf(mi18n("%s. Element:"), $i + 1).'</td>'."\n";
      echo '              <td class="text" style="border-right: 1px solid #747488;">'.mi18n("Type:").'<br />'."\n";
      echo '                <select name="'."CMS_VAR[$iElementType]".'" onchange="if (document.forms[0].elements[\''."CMS_VAR[$iElementType]".'\'].value != \''.$aSettings["k".$i]["ElementType"].'\') { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = true; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = true; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = true;}} else { document.forms[0].elements[\''."CMS_VAR[$iElementIdentifier]".'\'].disabled = false; document.forms[0].elements[\''."CMS_VAR[$iElementWidth]".'\'].disabled = false; if (document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\']) {document.forms[0].elements[\''."CMS_VAR[$iElementHeight]".'\'].disabled = false;}}"">'."\n";
      if ($aSettings["k".$i]["ElementType"] == "Text") {
         echo '                 <option value="Text" selected="selected">'.mi18n("Text").'</option>'."\n";
      } else {
         echo '                 <option value="Text">'.mi18n("Text").'</option>'."\n";
      }
      if ($aSettings["k".$i]["ElementType"] == "Image") {
         echo '                 <option value="Image" selected="selected">'.mi18n("Image").'</option>'."\n";
      } else {
         echo '                 <option value="Image">'.mi18n("Image").'</option>'."\n";
      }
      if ($aSettings["k".$i]["ElementType"] == "ExtractedImage") {
         echo '                 <option value="ExtractedImage" selected="selected">'.mi18n("Image from text").'</option>'."\n";
      } else {
         echo '<option value="ExtractedImage">'.mi18n("ExtractedImage").'</option>'."\n";
      }
      echo '                 </select> '.$sSubmitLink.' '."\n";
      echo '              </td>'."\n";
      echo '           </tr>'."\n";
      if ($i == ($aSettings["Elements"] - 1)) {
         $sBottomStyle = "border-bottom: 1px solid #747488;"; // Paint the table area closing line
      } else {
         $sBottomStyle = "";
      }
      echo '           <tr>'."\n";
if($aSettings["k".$i]["ElementImgAlign"]=="Text")$n='checked="checked"';  else $n="";
if($aSettings["k".$i]["ElementImgAlign"]=="left")$l='checked="checked"';  else $l="";
if($aSettings["k".$i]["ElementImgAlign"]=="right")$r='checked="checked"'; else $r="";
      switch ($aSettings["k".$i]["ElementType"]) {
         case "Image":
            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;"> </td>'."\n";
            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'4'").' '."\n";
            echo '                 '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"> '."\n";
            echo '                 '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">'."\n";
            echo '                 <br>'.mi18n("Image-Padding:").'<br> <input type="text" name="'."CMS_VAR[$iElementPadding]".'" value="'.$aSettings["k".$i]["ElementPadding"].'" size="15" title="'.mi18n("CSS conformal image padding (0px 10px 0px 0px)").'">';
            echo '                 <br>'.mi18n("Image-Align:").'<br> <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="left" '.$l.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("left").'
                              <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="right" '.$r.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("right").'
                          <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="none" '.$n.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("none").'</td>'."\n</td>";
            break;
         case "ExtractedImage":
            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;"> </td>'."\n";
            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").' '."\n";
            echo '                 '.mi18n("Width:"). ' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'"> '."\n";
            echo '                 '.mi18n("Height:").' <input type="text" name="'."CMS_VAR[$iElementHeight]".'" value="'.$aSettings["k".$i]["ElementHeight"].'" size="4" title="'.mi18n("Set to 0 to disable resize").'">'."\n";
            echo '                 <br>'.mi18n("Image-Padding:").'<br> <input type="text" name="'."CMS_VAR[$iElementPadding]".'" value="'.$aSettings["k".$i]["ElementPadding"].'" size="15" title="'.mi18n("CSS conformal image padding (0px 10px 0px 0px)").'">';
            echo '                 <br>'.mi18n("Image-Align:").'<br> <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="left" '.$l.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("left").'
                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="right" '.$r.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("right").'
                                 <input type="radio" name="'."CMS_VAR[$iElementImgAlign]".'" value="none" '.$n.' title="'.mi18n("Picture adjustment in the text").'">'.mi18n("none").'</td>'."\n</td>\n\n\n\n";
            break;
         default:
            echo '              <td class="text" style="border-left:  1px solid #747488;'.$sBottomStyle.'padding-left: 20px;"> </td>'."\n";
            echo '              <td class="text" style="border-right: 1px solid #747488;'.$sBottomStyle.'">'.mi18n("Item:").'<br />'.fncBuildTypeSelect("CMS_VAR[$iElementIdentifier]", $aSettings["SampleArt"], $aSettings["k".$i]["Identifier"], "'1','2','3','9','17'").' '."\n";
            echo '                 '.mi18n("Length (max.):").' <input type="text" name="'."CMS_VAR[$iElementWidth]".'" value="'.$aSettings["k".$i]["ElementWidth"].'" size="3" title="'.mi18n("Set to 0 to show all").'"></td>'."\n";
      }
      echo '           </tr>'."\n";
   }
}
echo '           </tr>'."\n";
echo "<tr><td>HTML-Tags nutzen?</td><td><input type=checkbox name='CMS_VAR[102]' value='use'";
if ("CMS_VALUE[102]" == "use")
  echo " checked";
echo "></td></tr>\n";
echo "<tr><td>Template</td><td><input type=text name='CMS_VAR[103]' value='CMS_VALUE[103]'></td></tr>\n";
echo '        </table>'."\n";
    <?PHP
    /********************************
    Modul ContentAllocation - OUTPUT
    Version 1.1
    Author: Tilman Jahn, tmj digital
    *********************************/
    
    $sOrder = "CMS_VALUE[2]";
    $sOrderDirection = "CMS_VALUE[3]";
    $sSelectedPica = "CMS_VALUE[5]";
    $sSampleArt   = "CMS_VALUE[6]";
    $vElementIdentifier = "CMS_VALUE[7]";
    $sNumElement = "CMS_VALUE[9]";
    $sMoreCategories = "CMS_VALUE[10]";
    $sAddCats  = "CMS_VALUE[11]";
    $sSampleCat   = "CMS_VALUE[12]";
    $htmltags = "CMS_VALUE[102]";
    $sTemplate = "CMS_VALUE[103]";
    if ($sTemplate == "")
        $sTemplate = "pica.html";
    
    $dataStart = 20;
    $align="left";
    $fieldcount = 1;
    
    $db = new DB_Contenido;
    $db2 = new DB_Contenido;
    $db3 = new DB_Contenido;
    
    if (!isset($tpl) || !is_object($tpl)) {
        $tpl = new Template();
    }
    
    
    function getChildPicas($parent) {
        global $cfg, $lang;
        
        $db4 = new DB_Contenido;
        $sql4 = "SELECT LANG.idpica_alloc as id FROM ".$cfg["tab"]["pica_alloc"]." AS ALLOC JOIN ".$cfg["tab"]["pica_lang"]." AS LANG ON ALLOC.idpica_alloc=LANG.idpica_alloc WHERE ALLOC.parentid=$parent AND LANG.online=1";
        $db4->query($sql4);
        if ($db4->num_rows() > 0) {
            while ($db4->next_record()) {
                $picas .= ",".$db4->f("id").getChildPicas($db4->f("id"));
            }
        }
        return $picas;
    }
    
    $sql = "SELECT online FROM ".$cfg["tab"]["pica_lang"]." WHERE idpica_alloc=$sSelectedPica";
    $db->query($sql);
    $db->next_record();
    if ($db->f("online") == 0)
        $sSelectedPica = 0;
        
    // Getting all relevant allocations:
    if ($sMoreCategories == "below" && $sSelectedPica != 0) {
        $picas = "($sSelectedPica".getChildPicas($sSelectedPica).")";
    }
    else {
        $picas = "($sSelectedPica)";
    }
    // Getting list of all relevant articles (ordered by selected ordering)
    $sql = "SELECT pica.idartlang as idartlang, ARTLANG.idart as idart, ARTLANG.idlang as idlang, ARTLANG.lastmodified as lastmodified FROM ".$cfg["tab"]["pica_alloc_con"]." AS pica JOIN ".$cfg["tab"]["art_lang"]." AS ARTLANG ON pica.idartlang=ARTLANG.idartlang WHERE pica.idpica_alloc IN $picas AND ARTLANG.online=1 ORDER BY $sOrder $sOrderDirection";
    $db->query($sql);
    if ($db->num_rows() > 0) {
        while ($db->next_record()) {
            //preparing Template
            $tpl->reset();
            $fieldcount=1;
            $vElementIdentifier = "CMS_VALUE[7]";
            $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;
            $db2->query($sql2);
            while ($db2->next_record())
            {
                // Set Value in Template
                $fieldname = 'field0';
                $title = urldecode($db2->f("value"));
                $tpl->set('s',$fieldname,$title);
            }
            
            // Reading elements for each relevant article
            for ($i=0;$i<$sNumElement;$i++) {
                $iElementType = $dataStart + ($i*5);
                $iElementIdentifier = $iElementType + 1;
                $iElementWidth = $iElementType + 2;
                $iElementHeight = $iElementType + 3;
                $iElementPadding    = $iElementType + 4;
                $iElementImgAlign   = $iElementType + 5;
                
                $vElementIdentifier = "CMS_VALUE[$iElementIdentifier]"; 
                $sSampleArt   = "CMS_VALUE[$iSampleArt]";
                $sNumElement = "CMS_VALUE[$iNumElement]";
                $sMoreCategories = "CMS_VALUE[$iMoreCategorie]";
                $sAddCats  = "CMS_VALUE[$sAddCats]";
                $sSampleCat   = "CMS_VALUE[$sSampleCat]";
                $vElementType = "CMS_VALUE[$iElementType]";
                $vElementWidth = "CMS_VALUE[$iElementWidth]";
                // reading record for each predefined element of the article
                $sql2 = "SELECT value FROM ".$cfg["tab"]["content"]." AS tblData WHERE idartlang=".$db->f("idartlang")." AND ".$vElementIdentifier;
                $db2->query($sql2);
                $fieldname = "field".$fieldcount;
                if ($db2->num_rows() == 0)
                    $tpl->set('s',$fieldname,"");
                while ($db2->next_record())
                {
                    if ($vElementType == "Image") {
                        // Reading information about image
                        $vElementHeight = "CMS_VALUE[$iElementHeight]";
                        $sql3 = "SELECT filename, dirname FROM ".$cfg["tab"]["upl"]." WHERE idupl=".$db2->f("value");
                        $db3->query($sql3);
                        if ($db3->num_rows() > 0) {
                            $db3->next_record();
                            $webpath = $cfgClient[$client]["upl"]["htmlpath"].$db3->f("dirname").$db3->f("filename");
                            $serverpath = $cfgClient[$client]["upl"]["path"].$db3->f("dirname").$db3->f("filename");
                            $image = $webpath;
                            list ($width, $height, $type, $attr) = getimagesize($webpath);
                            if (file_exists($serverpath) && $width > $vElementWidth && $height > $vElementHeight) {
                                $image = capiImgScale($serverpath,$vElementWidth, $vElementHeight, false, false, 10, false);
                                list ($width, $height, $type, $attr) = getimagesize($image);
                            }
                            $align == "left"?$marginentry = 'style="margin-right:5px; margin-bottom:5px;"':$marginentry = 'style="margin-left:5px; margin-bottom:5px;"';
                            $imagetag = "<img src='$image' width=$width height=$height align=$align $marginentry />";
                            $tpl->set('s',$fieldname,$imagetag);
                            $tpl->set('s','minheight',$height);
                        }
                        else {
                            echo $sql3;
                        }
                    }
                    else {
                        $htmltags == "use"?$temp = html_entity_decode(urldecode($db2->f("value"))):$temp = html_entity_decode(strip_tags(urldecode($db2->f("value"))));
                        if ($vElementWidth>0 && strlen($temp)>$vElementWidth) {
                            $temp = capiStrTrimAfterWord($temp,$vElementWidth)."...";
                        }
                        
                        $tpl->set('s',$fieldname,$temp);
                    }
                }
                // switching aling of image
                //$align == "left"? $align = "right":$align="left";
                $fieldcount++;
            } // end for
            $lastmodified = strtotime($db->f("lastmodified"));
            $lastmodified = date("d.m.Y",$lastmodified);
            $link = "front_content.php?idart=".$db->f("idart")."&lang=".$db->f("idlang");
            $tpl->set('s', 'DATE', $lastmodified);
            $tpl->set('s','link',$link);
            $tpl->generate('templates/'.$sTemplate);
        } // end while next_record(), $sql
    }
?>