DHTML Menü
Verfasst: So 21. Mär 2004, 16:34
Hallo Zusammen,
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:
Das X sollte natürlich ersetzt werden.
An der Stelle an der Später das Menü erscheinen soll dann:
Das Modul sieht dass so aus:
INPUT:
Der Output:
Im Script Verzeichnis erstellt ihr dann eine Datei Namens: menu_settings.js
Darin könnt ihr dann das Aussehen und verhalten der Navigation anpassen.
Beispiel:
Das Menü-Script (doiMenuDOM.js) und die zugehörige Doku findet ihr hier: http://www.donnaiwan.com/doiMenu/
Viel Spass!
Uli
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