Dynamisches Menü - Veschachtelt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamisches Menü - Veschachtelt

    Hallo liebe Foren-Gemeinde,
    ich habe Probleme bei der Umsetzung meiner Navigation. Leider bin ich ein absoluter Leie in Sachen "php" daher bitte ich um euer Verständnis. Bevor ich den "Code" poste hier meine Problematik.

    Ich habe eine index.php, in die ich meine header.php und footer.php per include hineinlade. Desweiteren befindet sich in der index.php ein "switch" (siehe Code weiter unten). Meine Navigations-Informationen befinden sich in der header.php.

    Hier ein Bild, wie es aussehen soll, wenn ich z.B auf "Hakkimizda" klicke. Das Sub-Menü sollte nur dort auftauchen. Auch die Auswahl in diesem Falle "Anasayfa" und "Inanc Kurulu" sollte man dann auch farblich angrenzen könne. (Siehe Code)



    Hier nun der Code der index.php und header.php, den ich mir mühsam durch mehr oder weniger Hilfe zusammengeschustert habe, aber der nicht funktioniert, weil ich es einfach nicht kann

    01. Index.php:
    PHP-Code:
    <? include ("includes/header.php"); ?>
    <!-- NAVIGATION -->
    <?php
    if(isset($_GET['cat'])){
        switch(
    $_GET['cat']){
            case 
    'anasayfa' :
                include(
    'includes/anasayfa.php');
                break;
            case 
    'hakkimizda' :
                include(
    'includes/hakkimizda.php');
                break;
            case 
    'multimedia' :
                include(
    'includes/multimedia.php');
                break;
            case 
    'forum' :
                include(
    'includes/forum.php');
                break;
            case 
    'iletisim' :
                include(
    'includes/iletisim.php');
                break;
            case 
    'kunye' :
                include(
    'includes/kunye.php');
                break;
            case 
    'siteharitasi' :
                include(
    'includes/siteharitasi.php');
                break;
            default :
                include(
    'includes/error.php');
                break;
            }
        }else{
            include(
    'includes/anasayfa.php');
        }
    ?>
    <!-- NAVIGATION END -->

    <!-- SUBNAVIGATION -->
    <?php
    if(isset($_GET['subcat'])){
        switch(
    $_GET['subcat']){
            case 
    'inanckurulu' :
                include(
    'includes/inanckurulu.php');
                break;
            case 
    'yonetimkurulu' :
                include(
    'includes/yonetimkurulu.php');
                break;
            case 
    'kadinlarkolu' :
                include(
    'includes/kadinlarkolu.php');
                break;
            case 
    'genclikkolu' :
                include(
    'includes/genclikkolu.php');
                break;
            default :
                include(
    'includes/error.php');
                break;
            }
        }else{
            include(
    'includes/inanckurulu.php');
        }
    ?>

    <!-- SUBNAVIGATION END-->
    <? include ("includes/footer.php"); ?>
    02. Header.php:
    PHP-Code:
        <div id="headerNavBar">
        <ul>
            <?php
                
    if ($_GET['cat'] == 'anasayfa'){
                    
    $css_style 'id=nav01on';
                }else{
                    
    $css_style 'id=nav01';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=anasayfa"><span>Anasayfa</span></a></li>';
                    
                if (
    $_GET['cat'] == 'hakkimizda'){
                    
    $css_style 'id=nav02on';
                }else{
                    
    $css_style 'id=nav02';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=hakkimizda"><span>Hakkimizda</span></a></li>';
                    
                    
                if (
    $_GET['cat'] == 'multimedia'){
                    
    $css_style 'id=nav03on';
                }else{
                    
    $css_style 'id=nav03';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=multimedia"><span>Multimedia</span></a></li>';
                    
                    
                if (
    $_GET['cat'] == 'forum'){
                    
    $css_style 'id=nav04on';
                }else{
                    
    $css_style 'id=nav04';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=forum"><span>Forum</span></a></li>';
                    
                    
                if (
    $_GET['cat'] == 'iletisim'){
                    
    $css_style 'id=nav05on';
                }else{
                    
    $css_style 'id=nav05';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=iletisim"><span>Iletisim</span></a></li>';
                    
                    
                if (
    $_GET['cat'] == 'kunye'){
                    
    $css_style 'id=nav06on';
                }else{
                    
    $css_style 'id=nav06';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=kunye"><span>Kunye</span></a></li>';
            
    ?>
        </ul>
        </div>
        <div id="headerSubNavBar">
        <ul>
            <?php
                
    if ($_GET['subcat'] == 'inanckurulu'){
                    
    $css_style 'id=subnav01on';
                }else{
                    
    $css_style 'id=subnav01';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=hakkimizda&subcat=inanckurulu"><span>Inanc Kurulu</span></a></li>';
                    
                if (
    $_GET['subcat'] == 'yonetimkurulu'){
                    
    $css_style 'id=subnav02on';
                }else{
                    
    $css_style 'id=subnav02';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=hakkimizda&subcat=yonetimkurulu"><span>Yonetim Kurulu</span></a></li>';
                    
                if (
    $_GET['subcat'] == 'kadinlarkolu'){
                    
    $css_style 'id=subnav03on';
                }else{
                    
    $css_style 'id=subnav03';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=hakkimizda&subcat=kadinlarkolu"><span>Kadinlar Kolu</span></a></li>';
                    
                    
                if (
    $_GET['subcat'] == 'genclikkolu'){
                    
    $css_style 'id=subnav04on';
                }else{
                    
    $css_style 'id=subnav04';}
                    echo 
    '<li '.$css_style.'><a href="index.php?cat=hakkimizda&subcat=genclikkolu"><span>Genclik Kolu</span></a></li>';
                    
            
    ?>

         </ul>
        </div>

    Wie gesagt, das funktioniert irgendwie nicht, bzw. nicht richtig. Ich freue mich über euere Hilfe!

    VIELEN DANK.

  • #2
    Sorry, aber "funktioniert irgendwie nicht richtig" ist nun wirklich keine Problembeschreibung.

    Woran scheiterst du konkret?

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      Sorry, aber "funktioniert irgendwie nicht richtig" ist nun wirklich keine Problembeschreibung.

      Woran scheiterst du konkret?
      Verdammt und ich hab mir Mühe gegeben

      Ok, also folgendes.

      Ich möchte, dass wenn ich z.B auf einen der Links in der Hauptnavigation klicke, die Subnavigation aufgeht. Und wenn ich auf einen der Subnavigations-Links klicke, soll die Subnavigation auch auf bleiben. Desweiteren soll der gewähle, bzw. geklickte Link wie auf dem Bild zu sehen, farblich anders sein, was ich auch per CSS gelöst habe, aber am php Teil hapert es.

      Und der Quellcode denn ich gepostet habe, da kommt zwar die Subnavi, aber ich habe dann den Inhalt der in die index.php geladen wird doppelt.

      Ich hoffe das ist etwas verständlicher, Sorry.

      Kommentar


      • #4
        Und der Quellcode denn ich gepostet habe, da kommt zwar die Subnavi, aber ich habe dann den Inhalt der in die index.php geladen wird doppelt.
        Also geht es gar nicht um die Navi, sondern um den eigentlichen Seiteninhalt?

        Kommentar


        • #5
          Original geschrieben von TobiaZ
          Also geht es gar nicht um die Navi, sondern um den eigentlichen Seiteninhalt?
          Nein, der Inhalt ist schon korrekt, aber der obrige Quellcode ist definitiv Falsch, sonst würde es ja funktionieren. Es geht definitiv um die Navi. Denn etwas umgestellt und die Sub-Navi weggelassen, funktioniert es auch.

          Kommentar


          • #6
            Hääääh?

            Kommentar


            • #7
              Nun gut. Am Bild oben, sieht man wie es aussehen soll. Jetzt geht es einfach nur noch um die Funktion. Siehe Quellcode der header.php, jedoch sind die Angaben also der Code in der header.php falsch. Denn...

              ...Funktionieren sollte es folgendermaßen: Ich klicke auf Link1. Link1 wird geöffnet. Ich klicke auf Link2. Link2 wird geöffnet. Link2 hat noch ein Sub-Menü, das auch geöffnet werden soll. Wenn sich nun bei Link2, im Submenü Link1Sub öffnet, bzw. wir anklicken, sollen die anderen Punkte des Sub-Menüs sichtbar bleiben, was hier leider nicht der Fall ist.

              Link 1 --- (Link2) --- Link3 --- Link4 --- Link5
              /-> (Link1Sub) --- Link2Sub --- Link3Sub

              Kommentar


              • #8
                Nun gut. Am Bild oben, sieht man wie es aussehen soll.
                Ja, deinen Wunsch habe ich verstanden. Dein Problem hast du noch nicht geschildert. (Außer dass es nicht deinem Wunsch entspricht.)

                Wenn sich nun bei Link2, im Submenü Link1Sub öffnet, bzw. wir anklicken, sollen die anderen Punkte des Sub-Menüs sichtbar bleiben, was hier leider nicht der Fall ist.
                Das hast du auch nicht programmiert.

                Wenn du auf deiner "Strategie" weiter fahren willst, musst du das Switch noch entsprechend um die Einträge der Sublinks erweitern. Also Praktisch den Case von "Link2" noch mal für alle "LinkXSub" kopieren.

                Alternativ könntest du aber auch den ganzen Murks noch mal über den Haufen werfen und das ganze dynamisch erstellen. Dafür ist PHP schließlich da.

                Speicher die Struktur in ein Array (einfachster Fall) und erstelle die Komplette Navigation dynamisch. Dann brauchst du auch die Zig includes nicht mehr.

                EDIT:
                Unterlasse in Zukunft bitte diese Crosspostings!

                Da du hier eine Antwort bekommen hast, mache ich mal ein mentalea *close*, damit sich nicht noch mehr Menschen bemühen.



                In Zukunft bitte noch die Posting-Regeln beachten.
                Zuletzt geändert von TobiaZ; 02.04.2009, 23:22.

                Kommentar

                Lädt...
                X