Seite 1 von 1
Neue Navi
Verfasst: Mo 17. Mär 2003, 01:17
von hyperjojo
Hi Leute,
ich suche eine Navigation, soweit ich bisher durchgeschaut habe kann das kein hier veröffentlichtes Modul.
Die Ausgabe soll im Prinzip Baumförmig sein und in etwas so aussehen:
Code: Alles auswählen
<img src="arrow.jpg" alt=""> Menuepunkt 1<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Untermenue 1<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Untermenue 2<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Untermenue 3<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Untermenue 4<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Unter-Sub-menue4.1<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Unter-Sub-menue4.2<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Unter-Sub-menue4.3<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Untermenue 5<br>
<img src="arrow.jpg" alt=""><img src="arrow.jpg" alt=""> Untermenue 6
Natürlich jede Zeile einzeln verlinkt.
Hat jemand ne Idee, wie ich das anstellen kann?? Mit Contenido bin ich grade erst eingestiegen und hab auch mit Programmierung nit viel am Hut!
Danke für jeden Hinweis!
hyperjojo
Verfasst: Mo 7. Apr 2003, 12:58
von Sven777b
Hi,
du kannst z.b. meine Hauptnavigation nehmen :
http://contenido.de/forum/viewtopic.php?t=118
oder eine andere - es gibt noch mehr mit ähnlichem Prinzip.
Die Einrückung geschieht bei mir durch , die in entsprechender Anzahl aneinander gereiht werden. Diese kannst du durch dein Bild ersetzen.
Original (ziemlich weit unten):
Code: Alles auswählen
$mod_space = array_pad($mod_space,($con_tree[$nr][level] - 1),"&nsbp; ");
Neu:
Code: Alles auswählen
$mod_space = array_pad($mod_space,($con_tree[$nr][level] - 1),"<img src='img/arrow.jpg' alt=''>");
fertig

Verfasst: Mo 7. Apr 2003, 23:16
von JUG
Genau - die Sven-Navi wollte ich ja schon immer mal ausprobieren - thxx für die Erinnerung
Ich habe aber irgendwo einen Fehler gemacht, die Errorlog meint folgendes:
Code: Alles auswählen
2003-Apr-Tue 00:05:07: error 1064 (You have an error in your SQL syntax near '1';
$nav_col_out = "#6699FF";
$nav_col_over = "#9999FF";
$nav_col_back = "#6' at line 1) - Invalid SQL: UPDATE con_lay SET name='Standard', description='', code='
Die Korrektur in der front_content von
detlev habe ich auch gemacht. Aber ich versteh's nicht, was Contenido meint, "Invalid SQL" weist auf ein Prob in der DB hin - er will, dass ich bei con_lay Änderungen vornehme, aber was genau soll da geändert werden?

Verfasst: Di 8. Apr 2003, 00:21
von Sven777b
sch... addslashes-Fehler. Ich weiß auch nicht was das genau ist. Jedenfalls müsste er eigentlich beim Layout alle ' durch \' ersetzen - dafür gibt es ein addslashes($code) - scheinbar versagt das aber gerne oder es wird irgendwo anders vor dem SQL-Update wieder rückgängig gemacht. k.A.
ersetze einfach die Zeile:
$nav_start = '1';
durch
$nav_start = "1";
oder
$nav_start = \'1\';
Verfasst: Di 8. Apr 2003, 00:53
von JUG
Jo, die Fehlermeldung in der Errorlog hat sich nicht wiederholt, das hätten wir. Trotzdem mag Contenido die Layoutänderung nicht übernehmen. Keine Fehlermeldung, es sieht so aus, als ob alles ok ist, aber wenn ich das Bearbeitungsfenster wieder öffne, erscheint das alte Layout.
Was genau mag er nicht?
Code: Alles auswählen
<!-- BEGIN NAVIGATION -->
<?php
//-----------------------------------------------------------------------------//
$nav_start = "5";
$nav_col_out = "#6699FF";
$nav_col_over = "#9999FF";
$nav_col_back = "#6600FF";
$nav_col_on = "#FF0000";
$nav_col_off = "#000000";
// 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);
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=100% cellspacing=\"5\" 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'){
echo "<tr><td onMouseOver=\"this.style['background']='".$nav_col_over."';\" ";
echo "onMouseOut=\"this.style['background']='".$nav_col_out."';\" bgcolor=\"$nav_col_out\" nowrap>";
unset($mod_space);$mod_space = array();
$mod_space = array_pad($mod_space,($con_tree[$nr][level] - 1),"&nsbp; ");
echo "<span style='background-color:".$nav_col_back.";'>".implode("",$mod_space)."</span>";
if($nr == $idcat){ echo "<span style='background-color:".$nav_col_on."'> </span>"; }
else { echo "<span style='background-color:".$nav_col_off."'> </span>"; };
echo "<a href=\"".$con_tree[$nr][link]."\" id=\"left-menu\">".$con_tree[$nr][titel]."</a></td></tr>";
};
};
unset($nav_tree);unset($nav_path);
echo "</table>";
?>
<!-- END NAVIGATION -->
Verfasst: Di 8. Apr 2003, 12:08
von Sven
moin
wenn ich den hier oben geposteten code bei mir einfuege bekomme ich jedesmal einen sql fehler bei den '
undzwar kommt der fehler bei dem teil mit dem javascript
onmouseover .....
wie muss man den code aendern damit es in die db geschieben wird und trotzdem funktioniert ?
danke fuer eure anworten
Sven
Verfasst: Di 8. Apr 2003, 12:29
von Sven777b
einen Backslash vor jedes einfache Anführungszeichen \'
alternativ müsste mal jemand die Stelle finden, wo die SQL-Abfrage durchgeführt wird und dort ein addslashes davorsetzen
Verfasst: Di 8. Apr 2003, 12:37
von Sven
leider bringt ein addslashes(); fuer den sql query gar nix
im gegenteil
noch nicht einmal der login funzt danach
wer testen moechte
conlib\db_mysql.inc
zeile 116
Sven
ps: schonmal erwaehnt das ich kein js mag
EDIT:
kann ja an der stelle auch net gehen da ja dann der ganze string bearbeitet wird
die richtige stelle dafuer ist im verzeichniss
contenido\inc\
die datei
fnc_lay.inc.php
und da in zeile 26 die // am zeilenanfang rausnehmen
nur ich sehe nun keine navigation leider
EDIT2:
ich habe deswegen keine Navigation gesehen da die Strukturpunkte bei mir standardmaessig deaktiviert sind.
So nun habe auch ich meine Navigation.
Ich habe die von sven777b glaub ich war die erste fassung in ein modul umgeschrieben welches ich die naechsten tage hier veroeffentlichen werde nachdem noch einige schoenheitsfehler beseitigt worden sind.
Verfasst: Mi 9. Apr 2003, 15:43
von Sven777b
@Sven: das mit addslashes ist nicht gut! - bei mir werden dann jedesmal wenn ich das Layout bearbeite, neu Slashes hinzugefügt. Diese Lösung beträfe also mehrere Files, weil die Slashes wieder entfernt werden müssen.
Ich hab noch ein Lösungsangebot was bei mir definitiv funktioniert hat:
/contenido/inc/fnc_lay.inc.php Zeile 28
original:
Code: Alles auswählen
$sql = "INSERT INTO $cfgTab_lay (name, description, deletable, code, idclient, author, created, lastmodified) VALUES ('$name', '$description', '1', '$code', '$client', '$author', '$date', '$date')";
neu:
Code: Alles auswählen
$sql = "INSERT INTO $cfgTab_lay (name, description, deletable, code, idclient, author, created, lastmodified) VALUES ('$name', '$description', '1', `$code`, '$client', '$author', '$date', '$date')";
ok... wer es jetzt nicht sehen konnte

ich habe die einfachen Anführungszeichen ( ' ) bei $code durch die nach hinten gestellten ersetzt ( ` ) ( Shift + Apostroph )
Verfasst: Mi 9. Apr 2003, 19:50
von JUG
@ sven777:
Habe die Änderung in der fnc_lay.inc.php vorgenommen, dennoch wird mein neuer Layoutcode (insbesondere der Navi-Quelltext, siehe letzter Beitrag) nicht übernommen. Kannst du mir da bitte weiter helfen? Danke.
Grüße
JUG
Verfasst: Mi 9. Apr 2003, 23:48
von Sven777b
was für einen Browser verwendest du ? klingt nach einem non-IE
im Forum Bugs bzw. Bugfixes sind Beiträge zum Thema Submit-Buttons. Das Problem könnte bei dir darin bestehen, dass der Submit-Button falsch interpretiert wird. Dieses Problem hatten wir schonmal und auch gelöst. Ich hab nur gerade nicht die Zeit den Beitrag zu suchen...
Verfasst: Do 10. Apr 2003, 00:01
von JUG
Ist der IE 6.0 auf WinXP. Das Layout nimmt er, nur wenn ich den Navi-Quelltext mit ins Layout packe, wird es nicht übernommen.
Verfasst: Do 10. Apr 2003, 00:04
von Sven777b
Hier die beiden Links aus dem Bugtracker.
Ersteres sollte bei dir die Lösung bringen.
Der zweite Link behandelt zwar ein anderes Problem - die Lösung ist aber die selbe.
http://contenido.de/forum/viewtopic.php?t=280 (Mozilla , Netscape - Bugfix)
http://contenido.de/forum/viewtopic.php?t=204 (Probleme beim bearbeiten..)
Verfasst: Do 10. Apr 2003, 00:12
von Sven777b
würdest du mir bitte mal Layout mit Navi zusenden ? dann kann ich es bei mir mal testen und den Fehler suchen. Kontaktvarianten stehen in meinem Profil.