Hallo,
habe die Modul Hauptnaviagtion CSS+ Mouseover V 1.0 von Oliver Beyer bei mir integriert - nun möchte ich jedoch erreichen, dass auf der zweiten Ebene der Navi die Schrift nur 11px groß ist (auf Ebene 1 ist sie 13 px) groß.
Leider macht das Modul derzeit auch die Ebene 2 bzgl. der Schriftgröße wie die Ebene ein - wo kann man das ändern?
Ich versuche zwar immer mein Bestes, da ich mich mit der ganzen CMS und PHP Problemtik leider noch immer nicht so gut auskenne, bin ich einmal mehr auf die Community angewiesen.
Es wäre toll, könntet ihr mir helfen.
Meine Site ist: www.re-flexion.de/cms
Modul Hauptnaviagtion CSS+ Mouseover V 1.0 - Schriftgrößen?!
-
- Beiträge: 71
- Registriert: Do 26. Aug 2004, 19:59
- Kontaktdaten:
wo kann man den quellcode des moduls ansehen ? bitte link immer mitangeben...
*** make your own tools (wishlist :: thx)
-
- Beiträge: 71
- Registriert: Do 26. Aug 2004, 19:59
- Kontaktdaten:
Hi Emergence,
hier ist der Quellcode:
INPUT:
OUTPUT:
Vielen Dank im Voraus für deine Hilfe.
hier ist der Quellcode:
INPUT:
Code: Alles auswählen
?>
<table cellspacing="0" cellpadding="10" border="0" width="500">
<tr>
<td valign="top" class="text_medium" width="200">Überschrift</td>
<td valign="top" class="text_medium" width="300">
<input type="text" name="CMS_VAR[3]" value="CMS_VALUE[3]" class="text_medium"
style="width:300px;">
</td>
</tr>
<?php
$selected = "CMS_VALUE[0]";
?>
<tr valign="top">
<td width="200" class="text_medium" valign="top">Baum wählen:</td>
<td width="300" class="text_medium" valign="top">
<?php
echo "<select name=\"CMS_VAR[0]\" class=\"text_medium\" style=\"width:300px;\">";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">-- (keine Auswahl) --</option>";
}else{
echo"<option selected=\"selected\" value=\"0\">-- (keine Auswahl) --</option>";
}
// fetch all categorys
$query = "SELECT
A.idcat,
A.level,
C.visible,
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
A.level = '0' AND
C.idlang='$lang' AND
B.idclient='$client'
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 spaces for every level
$spaces = $spaces . " ";
} // end for
$spaces .= "-- ";
if ($selected == $db->f("idcat")) {
$mk_selected = "selected";
} else {
$mk_selected = "";
}
$pre = "<option value=\"". $db->f("idcat") ."\" $mk_selected>". $spaces;
$post = "";
if($db->f("visible") == 0) $post = " (offline)";
$post .= "</option>";
echo $pre . $db->f("name") . $post;
} // end while
echo " </select>";
?>
</td>
</tr>
<tr>
<td width="200" class="text_medium">Textformat Standard:</td>
<td width="300" class="text_medium" valign="top" >
<?php
$handle = fopen("../content/css/format.css", "r");
$selected = "CMS_VALUE[2]";
echo "<select name=\"CMS_VAR[2]\" class=\"text_medium\" style=\"width: 300px;\">";
echo "<option value=\"\">(Standardschrift)</option>";
if ($handle) {
$buffer = fgets($handle, 4096);
while (!feof($handle)) {
$select_tag = "";
if(substr($buffer,0,11) == ".navigation" && ereg("^[A-ZÄÖÜ]", substr($buffer,12,1))) {
$value = trim(substr($buffer,1));
$option = substr(ereg_replace("_", " ", $value),11);
if ($value == $selected) $select_tag = " selected";
echo "<option value=\"$value\"" . $select_tag . ">" . $option . "</option>";
}
$buffer = fgets($handle, 4096);
}
fclose($handle);
}
echo "</select>";
?>
</td>
</tr>
<tr>
<td width="200" class="text_medium">Textformat Aktiv:</td>
<td width="300" class="text_medium" valign="top" >
<?php
$handle = fopen("../content/css/format.css", "r");
$selected = "CMS_VALUE[1]";
echo "<select name=\"CMS_VAR[1]\" class=\"text_medium\" style=\"width: 300px;\">";
echo "<option value=\"\">(Standardschrift)</option>";
if ($handle) {
$buffer = fgets($handle, 4096);
while (!feof($handle)) {
$select_tag = "";
if(substr($buffer,0,11) == ".navigation" && ereg("^[A-ZÄÖÜ]", substr($buffer,12,1))) {
$value = trim(substr($buffer,1));
$option = substr(ereg_replace("_", " ", $value),11);
if ($value == $selected) $select_tag = " selected";
echo "<option value=\"$value\"" . $select_tag . ">" . $option . "</option>";
}
$buffer = fgets($handle, 4096);
}
fclose($handle);
}
echo "</select>";
?>
</td>
</tr>
</table>
<?php
Code: Alles auswählen
<!-- Navigation -->
<?php
// Konfiguration
// WICHTIG:
// - ALLE WERTE VERGEBEN!!!
// - AN GEWÄHLTE CSS-KLASSE ANPASSEN
// Allgemein
$cfg_menu["bg_color"] = "none"; // Hintergrundfarbe der Tabelle
$cfg_menu["indent_level"] = "10"; // Einrückung der Ebenen
$cfg_menu["line_color"] = "#E0DFE3"; // Farbe der Trennlinie
$cfg_menu["line_height"] = "2"; // Dicke der Trennlinie in Pixel
$cfg_menu["line_style"] = "solid"; // 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"] = "#496298"; // Hintergrundfarbe Standard
$cfg_level[1]["bg_color_hover"] = "#A3214F"; // Hintergrundfarbe beim Überfahren mit der Maus ("Mouseover")
$cfg_level[1]["bg_color_active"] = "#496298"; // Hintergrundfarbe aktiv
// Die folgenden Werte sollten dem Stylesheet entsprechen, dass in der Template-Konfiguration zugewiesen wird:
$cfg_level[1]["font_color"] = "#ffffff"; // Schriftfarbe Standard
$cfg_level[1]["font_color_active"]= "#ffffff"; // Schriftfarbe Standard aktive Kategorie
$cfg_level[1]["font_color_hover"]= "#ffffff"; // 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"]= "none"; // 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"]= "none"; // 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"]= "none"; // 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=\"155\" 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: #E0DFE3; 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 -->
Viele Grüße
Ingo
Ingo