[PHP] PHP Menü - Links in unterschiedlichen div class laden

Dieses Thema im Forum "Webentwicklung" wurde erstellt von thisyear, 18. Juli 2008 .

  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
     
  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' );  ?>
     
  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
     
  4. 18. Juli 2008
    AW: PHP Menü - Links in unterschiedlichen div class laden

    Das machst du per AJAX
     
  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
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.