wie muss ich dieses Sitemapmodul umbauen, damit die Ebene 0 nicht mitangezeigt wird?
Input:
Code: Alles auswählen
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Sitemap
* Author(s) : Jan Lengowski, Jose Rodriguez
* Copyright : Contenido - four for business, Jose Rodriguez
* Created : 15-08-2002
* Modified : 14-01-2003 by nik wyss
* Modified : 29-12-2003 by Sascha Benkart.
* - Adapt to Contenido V4.4
************************************************/
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">\n".
" <tr valign=\"top\">\n".
" <td>Kategorie wählen:</td>\n".
" <td>\n".
" <select name=\"CMS_VAR[0]\">\n".
" <option value='0'>---Alle---</option>\n";
// 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
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>\n".
" </td>\n".
" </tr>\n".
" <tr>\n".
" <td>Anzahl Ebene:</td>\n".
" <td>\n".
" <input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\">\n".
" </td>\n".
" </tr>\n".
" </table>\n";
Output:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Sitemap
* Author(s) : Nik Wyss
* Copyright : None
* Created : 14-01-2003
* Modified : 14-01-2003
* Modified : 29-12-2003 by Sascha Benkart.
* - Adapt to Contenido V4.4
* - Output only shows visible items
************************************************/
$amountLevel = "CMS_VALUE[1]";
$newcat = "CMS_VALUE[0]";
$color = array("#9E9D9D", "#BEBDBD","#CCCCCC","#DAD9D9");
$startLevel = "1";
function sitemap($newcat=0)
{
global $lang, $client, $amountLevel, $color, $startLevel, $cfg;
$db = new DB_Contenido;
$sql = "SELECT * 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 ".
"B.parentid =$newcat AND level <= $amountLevel AND C.visible=1 AND C.public=1 ".
"ORDER by A.idtree";
$db->query($sql);
$result = "<table border=0 cellspacing=1 cellpadding=3 border=0>";
while ($db->next_record())
{
$lvl = $db->f("level");
if ($lvl == '1')
{
$result.="<tr><td></td></tr>";
}
$colorID=$lvl-$startLevel;
if ($colorID > count($color)-1)
{
$colorID=count($color)-1;
}
$result.= "<tr><td width='120px' bgcolor='".$color[$colorID].
"' valign=top><a href='front_content.php?idcat=".$db->f("idcat").
"&lang=$lang&client=$client' class='menu'>".
$db->f("name")."</a></td><td>".sitemap($db->f("idcat")).
"</td></tr>";
}
$result.= "</table>";
return($result);
}
$sql = "SELECT level FROM $cfgTab_cat_tree WHERE idcat=$newcat";
$db->query($sql);
$db->next_record();
$startLevel = $db->f("level");
$amountLevel += $startLevel;
if ($newcat==0){$amountLevel--;}
echo sitemap($newcat);
?>
Vielen Dank