Hauptnavigation CSS+Mouseover Probleme

Gesperrt
ramon
Beiträge: 6
Registriert: Mo 9. Feb 2004, 12:56
Kontaktdaten:

Hauptnavigation CSS+Mouseover Probleme

Beitrag von ramon »

Ich habe ein Problem mit der Hauptnavigation [CSS+Mouseover].
Auf allen Seiten wo ich sie eingebunden habe werden die Unterrubriken nicht mehr angezeigt. Woran liegt das?

Code Output

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname :
* Author :
* Copyright : Contenido - four for business
* Created : 22-08-2002
* Modified : 22-08-2002
************************************************/

<!-- Navigation -->

<?php

// Konfiguration

// WICHTIG:
// - ALLE WERTE VERGEBEN!!!
// - AN GEWÄHLTE CSS-KLASSE ANPASSEN

// Allgemein
$cfg_menu["bg_color"] = "#FFFFFF"; // Hintergrundfarbe der Tabelle
$cfg_menu["indent_level"] = "10"; // Einrückung der Ebenen

$cfg_menu["line_color"] = "#F7C473"; // Farbe der Trennlinie
$cfg_menu["line_height"] = "1"; // Dicke der Trennlinie in Pixel
$cfg_menu["line_style"] = "dashed"; // Art der Trennlinie (z. B. "solid", "dashed", ...)


// Einstellungen für Ebene 1
$cfg_level[1]["line_higher"] = "1"; // Einfügen einer Trennlinie NACH Elementen einer höheren Ebene (1 = Ja / 0 = Nein)
$cfg_level[1]["line_same"] = "1"; // Einfügen einer Trennlinie NACH Elementen der gleichen Ebene (1 = Ja / 0 = Nein)
$cfg_level[1]["line_lower"] = "1"; // Einfügen einer Trennlinie NACH Elementen Ebene (1 = Ja / 0 = Nein)

$cfg_level[1]["bg_color"] = "#FFFFFF"; // Hintergrundfarbe Standard
$cfg_level[1]["bg_color_hover"] = "#FCF2D5"; // Hintergrundfarbe beim Überfahren mit der Maus ("Mouseover")
$cfg_level[1]["bg_color_active"] = "#FFFFFF"; // Hintergrundfarbe aktiv

// Die folgenden Werte sollten dem Stylesheet entsprechen, dass in der Template-Konfiguration zugewiesen wird:

$cfg_level[1]["font_color"] = "#000000"; // Schriftfarbe Standard
$cfg_level[1]["font_color_active"]= "#AE6B00"; // Schriftfarbe Standard aktive Kategorie
$cfg_level[1]["font_color_hover"]= "#AE6B00"; // Schriftfarbe beim Überfahren mit der Maus ("Mouseover")

$cfg_level[1]["font_deco"] = "none"; // Schriftdekoration Standard
$cfg_level[1]["font_deco_active"]= "none"; // Schriftdekoration Standard aktive Kategorie
$cfg_level[1]["font_deco_hover"]= "underline"; // Schriftdekoration beim Überfahren mit der Maus ("Mouseover")


// Einstellungen für Ebene 2
$cfg_level[2]["line_higher"] = "0"; // Einfügen einer Trennlinie *VOR* Elementen einer höheren Ebene (1 = Ja / 0 = Nein)
$cfg_level[2]["line_same"] = "0"; // Einfügen einer Trennlinie *VOR* Elementen der gleichen Ebene (1 = Ja / 0 = Nein)
$cfg_level[2]["line_lower"] = "0"; // Einfügen einer Trennlinie *VOR* Elementen Ebene (1 = Ja / 0 = Nein)

$cfg_level[2]["bg_color"] = "#FFFFFF"; // Hintergrundfarbe Standard
$cfg_level[2]["bg_color_hover"] = "#FCF2D5"; // Hintergrundfarbe beim Überfahren mit der Maus ("Mouseover")
$cfg_level[2]["bg_color_active"] = "#FFFFFF"; // Hintergrundfarbe aktiv

// Die folgenden Werte sollten dem Stylesheet entsprechen, dass in der Template-Konfiguration zugewiesen wird:

$cfg_level[2]["font_color"] = "#000000"; // Schriftfarbe Standard
$cfg_level[2]["font_color_active"]= "#AE6B00"; // Schriftfarbe Standard aktive Kategorie
$cfg_level[2]["font_color_hover"]= "#AE6B00"; // Schriftfarbe beim Überfahren mit der Maus ("Mouseover")

$cfg_level[2]["font_deco"] = "none"; // Schriftdekoration Standard
$cfg_level[2]["font_deco_active"]= "none"; // Schriftdekoration Standard aktive Kategorie
$cfg_level[2]["font_deco_hover"]= "underline"; // Schriftdekoration beim Überfahren mit der Maus ("Mouseover")


// Einstellungen für Ebene 3
$cfg_level[3]["line_higher"] = "0"; // Einfügen einer Trennlinie *VOR* Elementen einer höheren Ebene (1 = Ja / 0 = Nein)
$cfg_level[3]["line_same"] = "0"; // Einfügen einer Trennlinie *VOR* Elementen der gleichen Ebene (1 = Ja / 0 = Nein)
$cfg_level[3]["line_lower"] = "0"; // Einfügen einer Trennlinie *VOR* Elementen Ebene (1 = Ja / 0 = Nein)

$cfg_level[3]["bg_color"] = "#FFFFFF"; // Hintergrundfarbe Standard
$cfg_level[3]["bg_color_hover"] = "#FCF2D5"; // Hintergrundfarbe beim Überfahren mit der Maus ("Mouseover")
$cfg_level[3]["bg_color_active"] = "#FFFFFF"; // Hintergrundfarbe aktiv

// Die folgenden Werte sollten dem Stylesheet entsprechen, dass in der Template-Konfiguration zugewiesen wird:

$cfg_level[3]["font_color"] = "#000000"; // Schriftfarbe Standard
$cfg_level[3]["font_color_active"]= "#AE6B00"; // Schriftfarbe Standard aktive Kategorie
$cfg_level[3]["font_color_hover"]= "#AE6B00"; // Schriftfarbe beim Überfahren mit der Maus ("Mouseover")

$cfg_level[3]["font_deco"] = "none"; // Schriftdekoration Standard
$cfg_level[2]["font_deco_active"]= "none"; // Schriftdekoration Standard aktive Kategorie
$cfg_level[3]["font_deco_hover"]= "underline"; // Schriftdekoration beim Überfahren mit der Maus ("Mouseover")

// Weitere Ebenen...

?>

<script type="text/javascript">
<!--
// Funktion für die Mouseover-Effekte im Navigationsmenü (Link & Tabellenzelle)
function link_on(td_element, tdcolorhover, text, link_element, linkdeco, linkcolor, cursor) {

window.status = text;

with(document.getElementById(td_element)) {
if(tdcolorhover != "") {style.backgroundColor = tdcolorhover; }
if(cursor != "") {style.cursor = cursor;}
}

with(document.getElementById(link_element)) {
if(linkcolor != "") { style.color= linkcolor; }
if(linkdeco != "") { style.textDecoration = linkdeco; }
}
}

// Funktion für Aufhebung der Mouseover-Effekte im Navigationsmenü "onMouseOut" (Link & Tabellenzelle)
function link_off(td_element, tdcolor, text, link_element, linkdeco, linkcolor, cursor, classname) {

window.status = '';

with(document.getElementById(td_element)) {
if(tdcolor != "") {style.backgroundColor = tdcolor; }
if(cursor != "") {style.cursor = cursor;}
}

if(classname != "") {
// Wenn in der Template-Konfiguration eine CSS-Klasse zugewiesen wurde, diese "onMouseOut" wieder zuweisen
with(document.getElementById(link_element)) {
style.color = '';
style.textDecoration = '';
}
document.getElementById(link_element).className = classname;
} else {
// Wenn KEINE CSS-Klasse zugewiesen ist, "onMouseOut" Konfigurationswerte zuweisen
with(document.getElementById(link_element)) {
if(linkcolor != "") { style.color= linkcolor; }
if(linkdeco != "") { style.textDecoration = linkdeco; }
}
}
}
//-->
</script>

<?php

if ( !is_object($db2) ) {
$db2 = new DB_Contenido;
}

// Navigationspfad erstellen

// Information über aktuelle Kategorie auslesen
$sql = "SELECT
A.level AS level,
B.parentid AS parentid,
C.name AS name,
C.visible AS visible
FROM ".
$cfg["tab"]["cat_tree"]." AS A, ".
$cfg["tab"]["cat"]." AS B, ".
$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat = '$idcat' AND
A.idcat = B.idcat AND
B.idcat = C.idcat AND
B.idclient = '$client' AND
C.idlang = '$lang'";

$db->query($sql);
$db->next_record();

$level = $db->f("level");
$parentid = $db->f("parentid");
$idcat_tmp= $parentid;
$level_tmp = $level;

$navpath[$level]["idcat"] = $idcat;
$navpath[$level]["name"] = $db->f("name");
$navpath[$level]["visible"] = $db->f("visible");

// Informationen über übergeordnete Rubriken
while($level_tmp != "0") {
$sql = "SELECT
A.level AS level,
B.parentid AS parentid,
C.name AS name,
C.visible AS visible
FROM ".
$cfg["tab"]["cat_tree"]." AS A, ".
$cfg["tab"]["cat"]." AS B, ".
$cfg["tab"]["cat_lang"]." AS C

WHERE
A.idcat = '$idcat_tmp' AND
A.idcat = B.idcat AND
B.idcat = C.idcat AND
B.idclient = '$client' AND
C.idlang = '$lang'";

$db->query($sql);
$db->next_record();

$navpath[$db->f("level")]["idcat"] = $idcat_tmp;
$navpath[$db->f("level")]["name"] = $db->f("name");
$navpath[$db->f("level")]["visible"] = $db->f("visible");

$level_tmp = $db->f("level");
$idcat_tmp = $db->f("parentid");
}

// Alle Rubriken auslesen
$sql = "SELECT
A.level AS level,
A.idcat AS link_idcat,
B.parentid AS parentid,
C.name AS name,
C.visible AS visible
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
B.idclient = '$client' AND
C.idlang = '$lang'
ORDER BY
A.idtree";


// Tabellenkopf & Überschrift
echo "
<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"150\" style=\"background-color: ".$cfg_menu["bg_color"]."; border: 0px; ";
if($cfg_level[1]["line_same"] == 1 || $cfg_level[1]["line_higher"] == 1) {
echo "
border-bottom: ".$cfg_menu["line_height"]."px;
border-color: ".$cfg_menu["line_color"].";
border-style: ".$cfg_menu["line_style"].";";
}
echo "\">
<tr>
<td width=\"100%\" height=\"22\" style=\"border: ".$cfg_menu["line_height"]."px; border-color: ".$cfg_menu["line_color"]."; border-style: ".$cfg_menu["line_style"]."; background-color: #FCF2D5; padding-left:2px; height: 22px\" class=\"headline_fb\">CMS_VALUE[3]</td>
</tr>";

$result = $db->query($sql);
$num_rows = mysql_num_rows($result);

for($i=0;$i<$num_rows;$i++) {
$menu[] = mysql_fetch_array($result);
}

for($i=0;$i<sizeOf($menu);$i++) {

while(list($key,$val) = each($menu[$i])) {
$$key = $val;
}

if($level == 0 && $link_idcat == "CMS_VALUE[0]") {
$show = 1;
$first = 1;
} else if ($level == 0 && $link_idcat != "CMS_VALUE[0]") {
$show = 0;
}

if($show == 1 && $visible == 1) {
if (($level == 1 && $parentid == "CMS_VALUE[0]") || ($level > 1 && $parentid == $navpath[$level-1]["idcat"])) {

$padding_element = ($level-1) * $cfg_menu["indent_level"]+ 3;
$linkobj = "a".$client.$lang.$parentid.$link_idcat;
$tabobj = "td".$client.$lang.$parentid.$link_idcat;

if($link_idcat == $navpath[$level]["idcat"]) {
$classname = "CMS_VALUE[1]";
$bg_color = $cfg_level[$level]["bg_color_active"];
$font_color = $cfg_level[$level]["font_color_active"];
$font_deco = $cfg_level[$level]["font_deco_active"];
} else {
$classname = "CMS_VALUE[2]";
$bg_color = $cfg_level[$level]["bg_color"];
$font_color = $cfg_level[$level]["font_color"];
$font_deco = $cfg_level[$level]["font_deco"];
}

$pre = "\n<tr>";

// ------- Code für Tabellenzeile (wegen Mouseover-Effekt recht umfangreich) -------
$pre .= "<td id=\"$tabobj\" height=\"22\" width=\"100%\" style=\"border: 0px; padding: 0px; padding-left: ".$padding_element."px; ";

if($first != 1) { // Erstes Element grenzt an Header und darf daher keinen oberen Rand erhalten.
if( ($cfg_level[$level]["line_same"] == 1 && $level_prev == $level) ||
($cfg_level[$level]["line_higher"] == 1 && $level_prev < $level) ||
($cfg_level[$level]["line_lower"] == 1 && $level_prev > $level)) {
$pre .= " border-top: ".$cfg_menu["line_height"]. "px;".
" border-color: ".$cfg_menu["line_color"]. ";" .
" border-style: ".$cfg_menu["line_style"].";";
}

}

$pre .= " background-color: " . $bg_color . "\"";
$pre .= " class=\"$classname\"";

$pre .= " onmouseover=\"link_on('".$tabobj."','".$cfg_level[1]["bg_color_hover"]."','".$name."','$linkobj','".$cfg_level[$level]["font_deco_hover"]."','".$cfg_level[$level]["font_color_hover"]."','pointer')\"";
$pre .= " onmouseout=\"link_off('".$tabobj."','".$bg_color."','','$linkobj','".$font_deco."','".$font_color."','auto', '".$classname."')\"";
$pre .= " onClick=\"document.location.href='front_content.php?client=".$client."&lang=".$lang."&idcat=".$link_idcat."'\">";

// ----- Ende Code für Tabellenzeile -----

// ------------ Code für Link: ------------
$pre .= "<a id=\"a".$client.$lang.$parentid.$link_idcat."\" href=\"front_content.php?client=$client&lang=$lang&idcat=".$link_idcat."\"";

$pre .= " class=\"$classname\">";
// --------- Ende Code für Link ---------

// ----------- Abschluss-Tags -----------
$post = "</a></td></span></tr>";
// ------- Ende Abschluss-Tags --------

// --- Endlich: Ausgabe des Menüelements ---
echo $pre . $name . $post;
// --------- Das war's auch schon... -----------

$first = 0;
$level_prev = $level;
}
}
}

echo "</table>";

?>
<!-- Navigation Ende -->
arakis
Beiträge: 81
Registriert: Di 18. Nov 2003, 16:27
Kontaktdaten:

hi

Beitrag von arakis »

hallo!
du kannst stylesheets in den templates plazieren.. nav_first + nav_second.... benutze einfach die suchfunktion... hatte ein ähnliches problem die lösung sollte im forum zu finden sein

lg
arakis
Gesperrt