#1 18. Juli 2008 PHP Menü - Links in unterschiedlichen div class laden Hallo, habe ein kleines Problem mit meiner Webseite. Habe einen Mainseite mit 2 Menüs, da ich nicht für jeden Link die komplette Seite im quellcode habe, wollte ich das per php lösen / zume rsten mal das sieht folgt aus: PHP: <? php if (isset( $_GET [ 'go' ])) { switch( $_GET [ 'go' ]) { case 'home' : include( 'home.htm' ); break; case 'fotos' : include( 'fotos.htm' ); break; case 'hobbys' : include( 'hobbys.htm' ); break; case 'impressum' : include( 'impressum.htm' ); break; default: include( 'home.htm' ); } } else { include( 'home.htm' ); } ?> das verlinken: <a href="index.php?go=fotos">Fotos</a> jetzt das Problem,ich habe 2 Menüs, 1 Hauptmenü und 1 Submenü. Die Links vom Hauptmenü sollen alle im div class="men1"> laden und vom Submenü im div class="men2"> laden. wie mache ich das? Danke + Multi-Zitat Zitieren
#2 18. Juli 2008 AW: PHP Menü - Links in unterschiedlichen div class laden also ich hab das mit sections gemacht. d.h. ich lass von php je nach anfrage bestimmte sections laden die ich dann einfach via $menu->display('die_section'); ausgebe. aber das is noch zu hoch für dich denke ich, deswegen ne vereinfachte funktion die für dich reichen sollte: PHP: <? php function loadMenuSection ( $section ) { static $sectionLoadPath = './' ; //die section escapen, wir wollen keine sonderzeichen oder gar pfadangebaben $section = preg_replace ( '/[^A-Z_0-9a-z]+/' , '' , $section ); if(empty( $section ) || ! is_file ( $sectionLoadPath . $section . '.html' )) return false ; //wir wollen den inhalt als string //kann aber sein das dort auch php-code existiert, deswegen //führen wir diesen erst aus und geben den inhalt zurück ob_start (); include $sectionLoadPath . $section . '.html' ; return ob_get_clean (); } function displayMenuSection ( $section ) { static $loadedSections = array(); static $notLoadableSections = array(); //menu schon geladen? if(!isset( $loadedSections [ $section ]) && !isset( $notLoadableSections [ $section ])) { //menu laden $loadedSection = loadMenuSection ( $section ); if(! $loadedSection ) { //fehler, menu nicht vorhanden //nicht nocheinmal nach dem menu fragen $notLoadableSection [ $section ] = true ; print '<!-- menu "' . $section . '" nicht vorhanden -->' ; } else { $loadedSections [ $section ] = $loadedSection ; unset( $loadedSection ); } } //menu ausgeben print $loadedSections [ $section ]; } ?> <?php displayMenuSection ( 'test' ); ?> + Multi-Zitat Zitieren
#3 18. Juli 2008 AW: PHP Menü - Links in unterschiedlichen div class laden Hi Murdoc, danke für deine Hilfe, jedoch ist das glaube nicht das was ich Suche oder ich verstehe es nicht Kann sein das ich es schlecht erklärt habe. Hier ist mal ein Bsp. was ich meine http://www.shuffl3.com/ wenn man oben die Grafiken anklickt, ladet der dazugehörige text/seite immer im gleichen bereich. Ich habe den quelltext angeschaut, es lädt immer im gleichen div. Es wurde jedoch mit einer Java funktion gemacht. Habe mich damit auch beschäftigt, jedoch weiß ich nicht, wie ich dort zb den inhalt von der seite test.htm einbinde, damit es dort erscheind. Ein link sieht so aus: <a href='?path=info' class='info'></a> wie bekomme ich da jetzt den inhalt rein der seite info? ist das eine extra html seite? oder sehe ich das komplett falsch und jede seite wird immer komplett geladen + Multi-Zitat Zitieren
#4 18. Juli 2008 AW: PHP Menü - Links in unterschiedlichen div class laden Das machst du per AJAX + Multi-Zitat Zitieren
#5 19. Juli 2008 AW: PHP Menü - Links in unterschiedlichen div class laden Also ich hab es wie du immer mit einer switch-case und Variablenübergabe gemacht. Vorbereitung: Content, Menu usw. mit DIV-Layer und CSS ausrichten. Dann ... Menu.html <div id="menu"> <a href="index.php?link=home"> </div> index.php <?php $link = $_GET['link']; include "Menu.html"; ?> <div id="content"> <?php switch ($link) { case "home" : include "home.php"; break; case "irgendwas" : include "irgendwas.html"; break; case "noch ein beispiel" : include "yeeha.htm"; break; default : include "startseite.php" } ?> </div> Ich hoffe du verstehst was ich meine + Multi-Zitat Zitieren