das sieht super aus, meine Frage:
Kann man das so automatisieren, dass es die Kategorien allein erstellt?
Das wäre echt cool, sonst isses super
Danke schon mal
Stephan
Code: Alles auswählen
<!-- JScript Menü--> 
<script type="text/javascript" src="js/doiMenuDOM.js"></script> 
<!-- JScript Menü -> Menüpunkte: --> 
<script language="JavaScript"> 
<!-- 
CMS_CONTAINER[1] 
//--> 
</script> 
<!-- JScript Menü -> Einstellungen --> 
<script type="text/javascript" src="js/menu_settings.js"> 
</script>Code: Alles auswählen
<div align="left"><!--DHTML NAVI--><script language="JavaScript">menue.Build();</script></div>Code: Alles auswählen
// Auswahl Kategorie --> Beginn 
/*********************************************** 
* CONTENIDO MODUL - INPUT 
* 
* Modulname   :     DHTML-Menü 
* Author      :     Uli Steinle / D2MAC 
* Copyright   :     stonecore media 
* Created     :     21-03-2004 
* Modified    :     bestimmt bald 
************************************************/ 
// selected category 
$selected = "CMS_VALUE[0]"; 
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\"> 
        <tr valign=\"top\"> 
          <td>Kategorie wählen:</td> 
          <td> 
            <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> 
        </tr> 
      </table>"; 
// Auswahl Kategorie <-- EndeCode: Alles auswählen
<? 
/*********************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     DHTML-Menü 
* Author      :     Uli Steinle / D2MAC 
* Copyright   :     stonecore media 
* Created     :     21-03-2004 
* Modified    :     bestimmt bald 
************************************************/ 
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php"); 
$catStart = "CMS_VALUE[0]"; 
echo "var menue = new TMainMenu('menue','vertical');\n"; 
if ($catStart != "") { 
  $catIds = conDeeperCategoriesArray($catStart); 
  if ( is_array($catIds) ) { 
$tmp_counter = 0; 
    foreach($catIds as $key=>$val) { 
      if ($key != 0) { 
        $sql = "SELECT 
                    CAT.idcat AS idcat, name ,parentid, level 
                FROM 
                    ".$cfg["tab"]["cat"]." AS CAT, 
                    ".$cfg["tab"]["cat_lang"]." AS CATLANG, 
                    ".$cfg["tab"]["cat_tree"]." AS CATLEVEL 
                WHERE 
                    CAT.idcat        = ".$val." AND 
                    CAT.idcat        = CATLANG.idcat AND 
                    CATLANG.idlang   = '$lang' AND 
                    CATLANG.visible  = '1' AND 
                    CAT.idcat        = CATLEVEL.idcat"; 
        $db->query($sql); 
//echo "/* \n".$sql."*/ \n"; 
//NH 
   $nh_db = new DB_Contenido; 
    
while ( $db->next_record() ) { 
          $level    = $db->f("level"); 
          $name     = $db->f("name"); 
          $parent   = $db->f("parentid"); 
          $cat      = $db->f("idcat"); 
          $url      = "front_content.php?idcat=$cat&lang=$lang"; 
     $a="a"; 
    
   /* NH---------------------------------------------*/ 
    $nh_idcat=$cat; 
    
     $query2 = "SELECT ARTLANG.idartlang, ARTLANG.title FROM ". 
      $cfg["tab"]["cat"]." AS CAT, ". 
      $cfg["tab"]["cat_art"]." AS CATART, ". 
      $cfg["tab"]["art"]." AS ART, ". 
      $cfg["tab"]["art_lang"]." AS ARTLANG ". 
         "WHERE 
       CAT.idcat='$nh_idcat' 
    AND 
       CATART.idcat = CAT.idcat  
    AND 
       ART.idart = CATART.idart 
    AND 
       ART.idart = ARTLANG.idart 
   AND 
       ARTLANG.idlang = '$lang' 
    AND 
       ART.idclient = '$client' 
    AND 
       ARTLANG.online = '1' "; 
    
   $nh_db->query($query2); 
   if(!$nh_db->nf()){ 
      $url      = ""; 
      $a      = ""; 
   } 
    
    
   /* NH END---------------------------------------------*/ 
          switch ($level) 
          { 
           //level1 
           case (1): 
                echo "var paul=10;\n"; 
                unset($count1);                  
                unset($count2); 
                unset($count3); 
                unset($count4); 
                unset($count5); 
                unset($count6); 
                unset($count7); 
                unset($count8); 
                unset($count9); 
                $levels1 = 1+$count1++; 
                echo "var Menue_".$levels1." = new TPopMenu('".$name."','5','$a','".$url."','".$name."');\n"; 
                echo "menue.Add(Menue_".$levels1.");\n\n"; 
                
                break; 
           //level2 
           case (2): 
                echo "var paul2=20;\n"; 
                $levels2=1+$count2++; 
              
          echo "  var Menue_".$levels1."_".$levels2." = new TPopMenu('".$name."','5','$a','".$url."','".$name."');\n"; 
                echo "  Menue_".$levels1.".Add(Menue_".$levels1."_".$levels2.");\n\n"; 
            
           break; 
           //level3 
           case (3): 
                $levels3=1+$count3++; 
                
                echo "    var Menue_".$levels1."_".$levels2."_".$levels3." = new TPopMenu('".$name."','5','$a','".$url."','".$name."');\n"; 
                echo "    Menue_".$levels1."_".$levels2.".Add(Menue_".$levels1."_".$levels2."_".$levels3.");\n\n"; 
           break; 
           //level4 
           case (4): 
                $levels4=1+$count4++; 
                echo "      var Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4." = new TPopMenu('".$name."','5','$a','".$url."','".$name."');\n"; 
                echo "      Menue_".$levels1."_".$levels2."_".$levels3.".Add(Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4.");\n\n"; 
           break; 
           //level5 
           case (5): 
                $levels5=1+$count5++; 
                echo "         var Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4."_".$levels5." = new TPopMenu('".$name."','5','$a','".$url."','".$name."');\n"; 
                echo "          Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4.".Add(Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4."_".$levels5.");\n\n"; 
           break; 
           //level6 
           case (6): 
                $levels6=1+$count6++; 
                echo "           var Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4."_".$levels5."_".$levels6." = new TPopMenu('".$name."','5','$a','".$url."','".$name."');\n"; 
                echo "           Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4."_".$levels5.".Add(Menue_".$levels1."_".$levels2."_".$levels3."_".$levels4."_".$levels5."_".$levels6.");\n\n"; 
            
           break; 
          } 
        } // end while 
      } // if 
    }  // end foreach 
  } // end if (is_array) 
} 
?> Code: Alles auswählen
menue.SetPosition('relative',0,0); 
menue.SetCorrection(0,0); 
menue.SetCellSpacing(0); 
menue.SetItemDimension(90,15); 
menue._pop.SetItemDimension(90,15); 
menue._pop.SetPaddings(2); 
menue._pop.SetSeparator(125,'right','gray',''); 
menue._pop.SetExpandIcon(true,'',6); 
menue._pop.SetFont('tahoma,verdana,arial','8pt'); 
menue._pop.SetBorder(1,'gray','solid'); 
menue._pop.SetDelay(500); Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
        <title>Familientag 2006</title>
        <link rel="stylesheet" type="text/css" href="css/format.css">
<!-- JScript Menü--> 
<script type="text/javascript" src="js/doiMenuDOM.js"></script> 
<!-- JScript Menü -> Menüpunkte: --> 
<script language="JavaScript"> 
<!-- 
var menue = new TMainMenu('menue','vertical');
 
 
//--> 
</script> 
<!-- JScript Menü -> Einstellungen --> 
<script type="text/javascript" src="js/menu_settings.js"> 
</script>
<meta name="generator" content="CMS Contenido 4.4.4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body topmargin="7" leftmargin="0">
<table align="center" cellspacing="0" cellpadding="0" border="0" width="770">
<tr>
 <td><nobr>
   <table cellspacing="0" cellpadding="0" align="center" height="90" width="770" border="0">
    <tr>
     <td background="images/_top1.jpg"></td>
    </tr>
   </table>
   <table cellspacing="0" cellpadding="0" bgcolor="#00003F" height="15" width="770">
    <tr>
     <td align="right"><table cellpadding="0" cellspacing="0" border="0"><tr><td><img src="images/wuerfel.gif"></td><td height="15" class=".navigation" style=padding-left:7px; padding-right:7px;">
          <a class="klein" target="_self" href="front_content.php?idcat=4">Home  </a></td><td height="15" class=".navigation" style=padding-left:7px; padding-right:7px;">
          <a class="klein" target="_self" href="front_content.php?idcat=5">Impressum  </a></td><td height="15" class=".navigation" style=padding-left:7px; padding-right:7px;">
          <a class="klein" target="_self" href="front_content.php?idcat=6">Kontakt  </a></td><td height="15" class=".navigation" style=padding-left:7px; padding-right:7px;">
          <a class="klein" target="_self" href="front_content.php?idcat=28">Suche  </a></td></tr></table></td>
    </tr>
   </table>
   <table bgcolor="" cellspacing="0" cellpadding="0" width="770">
    <tr>
     <td valign="top">
     <table bgcolor="#EBECEC" align="left" cellspacing="0" cellpadding="0" border="0" width="161">
          <tr>
           <td valign="top" align="left" height="23" width="161"><img src="images/_navtop.jpg" border="0"</td>
          </tr>
          <tr>
           <td bgcolor="#EBECEC"><div align="left"><!--DHTML NAVI--><script language="JavaScript">menue.Build();</script></div></td>
          </tr>
            <tr>
           <td bgcolor="#EBECEC"><table width="161" border="0" cellspacing="0" cellpadding="0">
<tr><td height="30" colspan="2" ></td></tr>
<tr><td height="15" width="15" style="border: 0px; border-top:1px; border-bottom:1px; border-color: #000000; border-style: solid; background-color: #EBECEC"><img src="images/wuerfel.gif" width="15" height="15" border="0"></td>
<td width="146" style="border: 1px; border-left:0px; border-color: #000000; border-style: dashed; background-color: #FFFFFF; padding-left:10px" class="punkte">Family-Login</td></tr>
<tr><td colspan="2" class="text" height="20" style="border: 1px; border-top:0px; border-color: #000000; border-style: dashed; background-color: #EBECEC; padding-left:10px">
<form method="post" action="front_content.php?idcatart=23">
<table border="0">
<tr><td>Benutzername</td></tr>
<tr><td><input class="news" type="input" size="11" name="username" value=""></td></tr>
<tr><td>Passwort</td></tr>
<tr><td><input class="news" type="password" size="11" name="password" value=""></td></tr>
</table>
 <input class="news" type="submit" name="login" value="Anmelden">
</form><br>
</td></tr></table>
</td>
          </tr>
      </table>
      <td valign="top">
      <table bgcolor="#FFFFFF" cellspacing="10" cellpadding="5" border="0">
          <tr>
           <td width="609" height="25" class="headline"> Familientag 2006</td>
          </tr>
          <tr>
           <td height="22" width="609" id="b" class="subheadline"> </td>
          </tr>
          <tr>
           <td class="text"> </td>
          </tr>
      </table>
     </td>
    </tr>
   </table>
   <table cellspacing="0" cellpadding="0">
    <tr>
     <td bgcolor="#00003F" height="15" width="770"></td>
    </tr>
     <tr>
     <td height="50" background="images/_bottom1.jpg" width="770"></td>
    </tr>
   </table>
 </nobr></td>
</tr>
</table>
</body>
</html>Code: Alles auswählen
echo "var Menue_".$levels1." = new TPopMenu('".$name."','---BILDURL---','$a','".$url."','".$name."');\n";ulisteinle hat geschrieben:Servus kenzo,
nur mal Theoretisch:
Um einen Menüpunkt mit Icon zu erzeugen muss man dem zweiten Parameter:Hier also ---BILDURL--- die URL des Icons, das angezeigt werden soll mitgeben.Code: Alles auswählen
echo "var Menue_".$levels1." = new TPopMenu('".$name."','---BILDURL---','$a','".$url."','".$name."');\n";
Nicht ganz trivial, da ja für jeden Menüpunkt ein anderes Ichon verwendet werden soll - oder auch keines.
Mein Ansatz wäre in etwa folgender:
1. Einen Ordner definieren, in dem die Icons liegen.
2. Icons hinterlegen, die genau so heißen wie die Menüpunkte.
3. Zu Beginn des Ouputs den Ordnerinhalt einlesen und die Iconnamen in ein Array ablegen.
4. Innerhalb jedes SELECT CASE Blocks abfragen, ob es ein Icon mit dem identischen Namen $name gibt.
5. Wenn ja: die URL zum Icon bei ---BILDURL--- einfügen.
Ich weiß, dass du sicher gerne eine fertige Lösung gehabt hättest, aber ich packe das gerade zeitlich nicht... Aber mit etwas PHP Wissen ist das recht zügig zu schaffen. - Sollte dieses Wissen (noch) nicht vorhanden sein, so ist das ein schönes Beispiel um sich´s anzueignen![]()
Gruß
Uli
Hmmm? Was ist das "Super-Menü"?Legt man in Contenido einen Artikel an, kann man ja eine Kategorie angeben, in der das "Super-Menü" diesen Anzeigen soll. Wer kann mir mal kurz erklären, wo das Modul diese Infos (Variablen) hinschreibt. Datenbank?
Code: Alles auswählen
$category = "CMS_VALUE[0]";