Ich wollte nun auch mal was beitragen:
Ich habe auf der Basis des von d2mac hier im Forum veröffentlichten Moduls und eines neuen Menü - Scripts da mal was zusammengestrickt:
Im <head> eures Layouts benötigt ihr Folgende Zeilen:
Code: Alles auswählen
<!-- JScript Menü-->
<script type="text/javascript" src="js/doiMenuDOM.js"></script>
<!-- JScript Menü -> Menüpunkte: -->
<script language="JavaScript"> 
<!-- 
CMS_CONTAINER[X] 
//--> 
</script>
<!-- JScript Menü -> Einstellungen -->
<script type="text/javascript" src="js/menu_settings.js">
</script>
An der Stelle an der Später das Menü erscheinen soll dann:
Code: Alles auswählen
<div align="left"><!--DHTML NAVI--><script language="JavaScript">menue.Build();</script></div>INPUT:
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 <-- Ende Code: Alles auswählen
<?php 
/*********************************************** 
* 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','horizontal');\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";
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"; 
          switch ($level) 
          { 
           //level1 
           case (1): 
                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): 
                $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) 
} 
?> Darin könnt ihr dann das Aussehen und verhalten der Navigation anpassen.
Beispiel:
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);
Viel Spass!
Uli
