Seite 3 von 4
Verfasst: Fr 25. Okt 2002, 20:46
von ekke
ja, sehe ich gerade auch, hatte Leerzeichen schon gelöst, in ein paar Tagen müßte ich das haben. Der Einsatz war bis jetzt englisch, da gibt es sowas nicht.
Ein wenig Geduld, viel kann es nicht sein,
Gruss ekke
Demo_left.php für Sonderzeichen
Verfasst: Fr 25. Okt 2002, 23:35
von ekke
Code: Alles auswählen
<?php
include("config.php");
include($ContenidoPath."inc/config.php");
page_open(
array("sess" => "Contenido_Session",
"auth" => "Contenido_Frontend_Challenge_Crypt_Auth",
"perm" => "Contenido_Perm"));
include($ContenidoPath.$cfgPathInc."cfg_sql.inc.php");
$db = new DB_Contenido;
?>
<html>
<head>
<script language="JavaScript">
function moveit(place1, place2) {
if (parent.frames[1].location.href != place1) {
parent.frames[1].location.href = place1;
}
if (parent.frames[2].location.href != place2) {
parent.frames[2].location.href = place2;
}
}
</script>
<style>
<!--
a {font-size: 11px; color: black; font-family: Verdana; text-decoration: none}
-->
</style>
</head>
<body BACKGROUND="img_site/bg.gif" bgproperties="FIXED">
<?php
// Gruppen einlesen //
$sql = "SELECT A.idcat, A.parentid, A.preid, A.postid, B.name, B.public, B.visible, C.level FROM $cfgTab_cat AS A, $cfgTab_cat_lang AS B, $cfgTab_cat_tree AS C WHERE A.idcat=B.idcat AND B.idcat=C.idcat AND A.idclient='$client' AND B.idlang='$lang'";
$db->query($sql);
while($db->next_record()){
$con_tree[$db->f("idcat")][parent] = $db->f("parentid");
$con_tree[$db->f("idcat")][preid] = $db->f("preid");
$con_tree[$db->f("idcat")][postid] = $db->f("postid");
$con_tree[$db->f("idcat")][titel] = $db->f("name");
$con_tree[$db->f("idcat")][public] = $db->f("public");
$con_tree[$db->f("idcat")][visible] = $db->f("visible");
$con_tree[$db->f("idcat")][level] = $db->f("level");
$con_tree[$db->f("idcat")][link] = $sess->url("front_content.php?client=".$client."&lang=".$lang."&parent=".$db- >f("parentid")."&idcat=".$db->f("idcat")."");
if($db->f("idcat") > $con_tree_max){$con_tree_max = $db->f("idcat");}
};
//-----------------------------------------------------------------------------//
$nav_start = "1"; // Startbaum festlegen
$nav_col_out = "#6699FF"; // Zellfarbe normal
$nav_col_over = "#9999FF"; // Zellfarbe Mouse-Over
$nav_col_back = "#6600FF"; // Hintergrundfarbe (Einzug)
//$nav_col_on = "font13"; // Farbmarkierung aktiv
//$nav_col_off = "font11"; // Farbmarkierung passiv
$nav_col_on = "FF5A00"; // Farbmarkierung aktiv
$nav_col_on_hover = "#3FF200"; // Farbmarkierung aktiv hover
$nav_col_off = "9C9C9C"; // Farbmarkierung passiv
$nav_col_off_hover = "#0005E0"; // Farbmarkierung passiv hover
$nav_button_folder = "img_site/menubuttons/"; // Ort der Buttons
$nav_button_img_ext = ".png"; // Art der Buttons
$bg = "#BEBCF0"; // Hintergrundfarbe Buttons
//-----------------------------------------------------------------------------//
// offenen Pfad finden //
$nav_path = array(); $nav_tree = array();
$tmp_idcat = $idcat;
while($tmp_idcat > 0){
array_push($nav_path, $tmp_idcat);
$tmp_idcat = $con_tree[$tmp_idcat][parent];
};
$nav_path = array_reverse($nav_path);
// gegen Verlassen des Baumes schützen:
if($nav_path[0] != $nav_start){$nav_path = array($nav_start);};
// Baum sortieren //
for($i = 0;$i < sizeof($nav_path);$i++){
$tmp_found=0;
for($nr = 0; $nr <= $con_tree_max; $nr++){
if($con_tree[$nr][parent] == $nav_path[$i] && $con_tree[$nr][preid] == '0'){$tmp_found=1;break;}
}
unset($tmp_level);$tmp_level = array();
do{
array_push($tmp_level , $nr);
$nr = $con_tree[$nr][postid];
} while($nr != '0' && $tmp_found==1);
if($i == 0){$nav_tree = $tmp_level;}
else {
$x = array_search("$nav_path[$i]", $nav_tree);
array_splice($nav_tree, $x+1, 0, $tmp_level);
};
};
// Baum ausgeben //
echo "<table width=\"160\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
foreach($nav_tree as $nr){
if(($con_tree[$nr][public] == '1' or $auth->auth["uid"] != "nobody") and $con_tree[$nr][visible] == '1'){
unset($mod_space);$mod_space = array();
$mod_space = array_pad($mod_space,($con_tree[$nr][level] - 1)," ");
echo "<tr><td valign=\"top\" nowrap>".implode("",$mod_space);
echo "<a href=\"".$con_tree[$nr][link]."\" target=\"main\" onClick=\"moveit('demo_left.php?idcat=$nr')\"";
if($nr == $idcat){
$nav_button_image = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_on.$nav_button_img_ext;
if (!file_exists ($nav_button_image)) {
MakeImage ($bg, $nav_col_on, $con_tree[$nr][titel], $nav_button_image, $nav_button_img_ext);
}
$nav_button_img_hover = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_on_hover.$nav_button_img_ext;
if (!file_exists ($nav_button_img_hover)) {
MakeImage ($bg, $nav_col_on_hover, $con_tree[$nr][titel], $nav_button_img_hover, $nav_button_img_ext);
}
} else {
$nav_button_image = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_off.$nav_button_img_ext;
if (!file_exists ($nav_button_image)) {
MakeImage ($bg, $nav_col_off, $con_tree[$nr][titel], $nav_button_image, $nav_button_img_ext);
}
$nav_button_img_hover = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_off_hover.$nav_button_img_ext;
if (!file_exists ($nav_button_img_hover)) {
MakeImage ($bg, $nav_col_off_hover, $con_tree[$nr][titel], $nav_button_img_hover, $nav_button_img_ext);
}
};
echo " onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('".$nav_button_image."','','".$nav_button_img_hover."',1)\"";
echo ">";
echo "<img name=\"".$nav_button_image."\" src=\"".$nav_button_image."\" border=\"0\"alt=\"".$con_tree[$nr][titel]."\"></a>";
echo "</td></tr>\n";
};
};
unset($nav_tree);unset($nav_path);
echo "</table>";
function ConvertColor($hexVal){
$ColorVal = array(3);
for($i = 0; $i < 3; $i++)
$ColorVal[$i] = HexDec(substr($hexVal, $i * 2, 2));
return $ColorVal;
}
function MakeImage($bg, $fg, $txt, $image, $nav_button_img_ext){
$width = 140;
$offset = 20;
$imgFRAME = ImageCreate($width, $offset);
list($red, $green, $blue) = ConvertColor($bg);
$bgCOLOR = ImageColorAllocate($imgFRAME, $red, $green, $blue);
list($red, $green, $blue) = ConvertColor($fg);
$fgCOLOR = ImageColorAllocate($imgFRAME, $red, $green, $blue);
imagettftext($imgFRAME, 10,0,2,15,$fgCOLOR,"ttf/verdana.ttf",$txt);
if ($nav_button_img_ext == ".png") {
ImagePng($imgFRAME, $image);
}
if ($nav_button_img_ext == ".gif") {
ImageGif($imgFRAME, $image);
}
if ($nav_button_img_ext == ".jpg") {
ImageJPG($imgFRAME, $image);
}
ImageDestroy($imgFRAME);
}
?>
</body>
</html>
Gruss ekke
front_single_Nav ins Layout:
Verfasst: Fr 25. Okt 2002, 23:38
von ekke
Code: Alles auswählen
<?php
//-----------------------------------------------------------------------------//
$nav_start = "3"; // Startbaum festlegen
//$nav_col_out = "#6699FF"; // Zellfarbe normal
//$nav_col_over = "#9999FF"; // Zellfarbe Mouse-Over
//$nav_col_back = "#6600FF"; // Hintergrundfarbe (Einzug)
//$nav_col_on = "font13"; // Farbmarkierung aktiv
//$nav_col_off = "font11"; // Farbmarkierung passiv
$nav_col_on = "FF0000"; // Farbmarkierung aktiv
$nav_col_on_hover = "CCCCCC"; // Farbmarkierung aktiv hover
$nav_col_off = "000000"; // Farbmarkierung passiv
$nav_col_off_hover = "CCCCCC"; // Farbmarkierung passiv hover
$nav_button_folder = "img_site/menubuttons/"; // Ort der Buttons
$nav_button_img_ext = ".png"; // Art der Buttons je nach Provider/gdlib: .png, .gif, .jpg
$bg = "FFFFFF"; // Hintergrundfarbe Buttons
//-----------------------------------------------------------------------------//
// offenen Pfad finden //
$nav_path = array(); $nav_tree = array();
$tmp_idcat = $idcat;
while($tmp_idcat > 0){
array_push($nav_path, $tmp_idcat);
$tmp_idcat = $con_tree[$tmp_idcat][parent];
};
$nav_path = array_reverse($nav_path);
// gegen Verlassen des Baumes schützen:
if($nav_path[0] != $nav_start){$nav_path = array($nav_start);};
// Baum sortieren //
for($i = 0;$i < sizeof($nav_path);$i++){
$tmp_found=0;
for($nr = 0; $nr <= $con_tree_max; $nr++){
if($con_tree[$nr][parent] == $nav_path[$i] && $con_tree[$nr][preid] == '0'){$tmp_found=1;break;}
}
unset($tmp_level);$tmp_level = array();
do{
array_push($tmp_level , $nr);
$nr = $con_tree[$nr][postid];
} while($nr != '0' && $tmp_found==1);
if($i == 0){$nav_tree = $tmp_level;}
else {
$x = array_search("$nav_path[$i]", $nav_tree);
array_splice($nav_tree, $x+1, 0, $tmp_level);
};
};
// Baum ausgeben //
echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
foreach($nav_tree as $nr){
if(($con_tree[$nr][public] == '1' or $auth->auth["uid"] != "nobody") and $con_tree[$nr][visible] == '1'){
unset($mod_space);$mod_space = array();
$mod_space = array_pad($mod_space,($con_tree[$nr][level] - 1)," ");
echo "<tr><td valign=\"top\" nowrap>".implode("",$mod_space);
echo "<a href=\"".$con_tree[$nr][link]."\"";
if($nr == $idcat){
$nav_button_image = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_on.$nav_button_img_ext;
if (!file_exists ($nav_button_image)) {
MakeImage ($bg, $nav_col_on, $con_tree[$nr][titel], $nav_button_image, $nav_button_img_ext);
}
$nav_button_img_hover = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_on_hover.$nav_button_img_ext;
if (!file_exists ($nav_button_img_hover)) {
MakeImage ($bg, $nav_col_on_hover, $con_tree[$nr][titel], $nav_button_img_hover, $nav_button_img_ext);
}
} else {
$nav_button_image = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_off.$nav_button_img_ext;
if (!file_exists ($nav_button_image)) {
MakeImage ($bg, $nav_col_off, $con_tree[$nr][titel], $nav_button_image, $nav_button_img_ext);
}
$nav_button_img_hover = $nav_button_folder.md5($con_tree[$nr][titel]).$nav_col_off_hover.$nav_button_img_ext;
if (!file_exists ($nav_button_img_hover)) {
MakeImage ($bg, $nav_col_off_hover, $con_tree[$nr][titel], $nav_button_img_hover, $nav_button_img_ext);
}
};
echo " onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('".$nav_button_image."','','".$nav_button_img_hover."',1)\"";
echo ">";
echo "<img name=\"".$nav_button_image."\" src=\"".$nav_button_image."\" border=\"0\"alt=\"".$con_tree[$nr][titel]."\"></ a>";
echo "</td></tr>\n";
};
};
unset($nav_tree);unset($nav_path);
echo "</table>";
function ConvertColor($hexVal){
$ColorVal = array(3);
for($i = 0; $i < 3; $i++)
$ColorVal[$i] = HexDec(substr($hexVal, $i * 2, 2));
return $ColorVal;
}
function MakeImage($bg, $fg, $txt, $image, $nav_button_img_ext){
$width = 200;
$offset = 10;
$imgFRAME = ImageCreate($width, $offset);
list($red, $green, $blue) = ConvertColor($bg);
$bgCOLOR = ImageColorAllocate($imgFRAME, $red, $green, $blue);
list($red, $green, $blue) = ConvertColor($fg);
$fgCOLOR = ImageColorAllocate($imgFRAME, $red, $green, $blue);
imagettftext($imgFRAME, 12,0,2,15,$fgCOLOR,"ttf/verdana.ttf",$txt);
if ($nav_button_img_ext == ".png") {
ImagePng($imgFRAME, $image);
}
if ($nav_button_img_ext == ".gif") {
ImageGif($imgFRAME, $image);
}
if ($nav_button_img_ext == ".jpg") {
ImageJPG($imgFRAME, $image);
}
ImageDestroy($imgFRAME);
}
?>
Gruss ekke
Verfasst: Do 21. Nov 2002, 17:13
von jacke
Hallo, hab gerade ein Prob und weiß nicht wo ich suchen soll.
Ich kann Farbe einstellen wie ich will, es ändert sich nichts. Die Schrift ist auch weg, so dass die Knöpche nackig sind. Hab für die Seite den Provider canssl. Ich habe gedacht der kann vielleicht keine .png und hab im Menu auf .gif umgestellt - dann ing nichts mehr.
Gibt es schon eine Lösung für die Umlaute und Leerzeichen?
www.hausentwurf.de/cms/frontend2
Gruß
Jacke
Verfasst: Do 21. Nov 2002, 18:02
von ekke
hallo jacke,
>Hab für die Seite den Provider canssl.
Leg mal ein phpinfo.php drauf
oder schaue nach ob du :gd mit FreeType Support
enabled
FreeType Linkage
with TTF library
drin hast. Sonst zieht er die ttf nicht.
> Ich habe gedacht der kann vielleicht keine .png und hab im Menu auf .gif >umgestellt - dann ing nichts mehr.
Die Bilder werden gecached, also immer jedesmal manuel löschen nach einer veränderung.
>Gibt es schon eine Lösung für die Umlaute und Leerzeichen?
ist das letzte posting. geht.
Gruss ekke
Verfasst: Fr 22. Nov 2002, 11:11
von jacke
Morgen,
Hab das letzte Posting eingefügt und ein phpinfo draufgelegt hier der Auszug:
GD Support enabled
GD Version 2.0 or higher
FreeType Support enabled
FreeType Linkage with freetype
T1Lib Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
leider funzt es immer noch nicht mit der Schrift, nur nackig,weiße Knöpsche.
Jacke
Verfasst: Fr 22. Nov 2002, 11:30
von ekke
$nav_start = "3"; // Startbaum festlegen
auf
$nav_start = "1"; // Startbaum festlegen
stellen
grundlage ist svens menü.
gruss ekke
Verfasst: Fr 22. Nov 2002, 11:35
von jacke
Sehe gerade warum es nicht funzt:
FreeType Linkage with freetype
wie kann ich das umstellen auf "with TTF library" oder ist das Providersache?
Jacke
Re: neues Hauptmenü - Vollständige Anleitung
Verfasst: Di 26. Nov 2002, 17:15
von John
Hallo Sven (oder auch andere),
sehe ich das richtig, dass sich dieses Hauptmenü nur einsetzen lässt, wenn man einen ganzen Baum abbilden will?
Mein Problem ist, dass ich die obersten Strukturpunkte an einer anderen Stelle haben will, als die jeweiligen Unterpunkte. Beim Klicken auf einen Hauptpunkt soll sich dann aber das Untermenü an einer anderen Stelle öffnen und weitere Unterspunkte dann so eingerückt dargestellt werden wie in Deinem Menü. Evt. könnte man dies mit einem eigenen Baum für jeden Unterpunkt lösen, dass fände ich aber eher unschön. Meinst Du, Dein Menü lässt sich soweit abändern, dass es auch in einer tieferen Ebene beginnen kann, trotzdem aber auch noch weitere, darunter befindiche Ebenen mit abbildet?
Vielleicht hast Du Dich damit ja schonmal beschäftigt und kannst mir Tipps geben.
Danke und Gruß,
John
Verfasst: Di 26. Nov 2002, 17:32
von Sven777b
über die Variable $nav_start legst du fest, wo der baum beginnen soll.
Wenn du also bei deiner oberen Navigation bei jedem Link noch nav_start=$idcat übergibst (z.b.) und in meinem Hauptmenü die Zeile $nav_start = 3; entfernst, sollte es gehen.
ich weiß ja nun nicht so richtig , wie deine obere Navigation aufgebaut ist. Jedenfalls legst du über $nav_start den Startpunkt fest. Wenn du sicher stellst, das diese Variable immer den richtigen Wert enthält, ist das kein Problem.
Verfasst: Mi 27. Nov 2002, 11:27
von John
Hallo Sven,
danke für Deinen Tipp. Leider konnte ich ihn bisher nicht umsetzen...
Ich versuche, dass Problem nochmal genauer zu beschreiben:
Ich habe eine erste Ebene (Punkte 1,2 und 3). Dort sind die Links auf Bilder gelegt, es kommt also kein Navi-Modul zum Einsatz sondern das normale Link-Modul. Darunter kommt eine zweite Ebene, also z.B. für Punkt 1 a,b und c. Diese werden an einer anderen Stelle über das normale Navigationsmodul angezeigt. Beim Klick auf einen der Punkte a,b oder c öffnet sich wieder an einer anderen Stelle das entsprechende Untermenü mit den Punkten I,II,III usw. Das klappt auch. Wenn jetzt aber I nochmal zwei Unterpunkte hat, öffnen die sich nicht, wenn ich auf I klicke. Wenn ich die idcat von Punkt a als nav_start übergebe auch nicht. Wenn ich allerdings die idcat von I übergebe, werden die Unterpunkte angezeigt, aber die Punkte I,II,III usw. sind nicht mehr da. Es ändert sich also nichts an dem Problem, dass nur eine Ebene angezeigt wird.
Ich hoffe, dass Problem ist jetzt klarer, bzw. dass ich nicht nur Deine Lösung nicht verstanden habe

Hauptmenue -Startpunkt-
Verfasst: Mi 1. Jan 2003, 17:59
von Daniel
Hallo zusammen
Erst mahl ein grosses Lob an alle Mitwirkenden. Supper Arbeit.
Meine Frage:
Kann es sein, das für die Erweiterung "Hauptmenue", für alle Navigationspukte auch ein seperates Layout erstellt werden muss?
Bei mir sind die Einträge unter dem selben Stamm mit z.B. idcat=3, idcat=6, idcat=19.. usw.
Im Layout wird ja der Nav-Startpunkt festgelegt.
Vielen Dank für eine Antwort.
Verfasst: Mi 1. Jan 2003, 18:22
von Sven777b
@John: in dem Falle nutzt dir das hauptmenü nix - weil dieses rekursiv nach OBEN arbeitet. Es stellt also keinen voll geöffneten Baum dar - sondern nur alles von nav_start bis zur aktellen Kategorie. Wobei noch der Unterpunkte der aktuellen Kategorie angezeigt werden - aber nicht mehr.
Man müsste für deinen Fall ein spezielles Menü schreiben.
@Daniel: nav_start gibt den Zweig ÜBER dem ersten anzuzeigenden Punkt an. Also in deinem Falle sind idcat=3, 6 und 19 doch bestimmt noch einem Hauptpunkt zugeordnet - also einem Baum (idcat = 1)
Wenn die genannten Kategorien aber alles eigene Bäume sind, kannst du diese Navi nicht einsetzen - weil diese keine Strukturbäume anzeigt.
Verfasst: So 12. Jan 2003, 18:53
von pulk
Sven777b hat geschrieben:Wenn die genannten Kategorien aber alles eigene Bäume sind, kannst du diese Navi nicht einsetzen - weil diese keine Strukturbäume anzeigt.
gibt es eine navi die das kann ?
Verfasst: So 12. Jan 2003, 19:27
von Sven777b
gibt es eine navi die das kann ?
kurz: IMHO noch nicht - aber das kann man ja ändern

ich hab nur momentan absolut keine Zeit irgendwas für Contenido zu tun - leider