Probleme mit dynamischen Menü in php

Dieses Thema Probleme mit dynamischen Menü in php im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Tom_01, 22. März 2008.

Thema: Probleme mit dynamischen Menü in php Hallo, ich will meine Navigation von meiner Seite zentral in einer Datei verwalten. Problem ist, dass meine...

  1. Hallo,

    ich will meine Navigation von meiner Seite zentral in einer Datei verwalten.
    Problem ist, dass meine php-kenntnisse eher gering sind.

    hab so ein menü auf der seite http://alexanderbrock.de/vmenue/ gefunden. gefällt mir
    auch sehr gut, nur komm ich mit der anleitung nicht so ganz klar.

    hab das dort genannte array an meine navigation angepasst, aber was nun?

    beschreibung ist hier zu finden, aber für mich nicht umsetzbar: http://alexanderbrock.de/vmenue/doku...n/einsatz/1.1/

    fragen:

    - als was speichere ich das array ab? wie im beispiel als entries.inc ?

    - wo füge ich folgenden code ein und welche zeichen fehlen unter umständen noch, weil bei mir bleibt alles weiß, wenn ich da
    in die index einfüge
    und das hier:

    kann mir evtl. jemand behilflich sein, wie ich was in welche datei abspeichere?!

    danke schon mal...
     
  2. Hallo,

    liegt die menu.php mit in dem Verzeichnis wo die Datei ist, in der du das einbinden willst?

    Statt $menü würde ich lieber eine Variable ohne Umlaute verwenden, z.B. $menu

    hast du aber nicht in Anführungszeichen stehen?


    Dein Menü-Array muß du der Variable zuweisen, die der Funktion value() übergeben wird, in deinem Beispiel ist es die Variable $eintrage, also z.B.:

    Code:
    <?php
    $eintrage = array ( array (->href' =>->',->text' =>->Startseite',->title' =>->Zurück zur Startseite' ), array (->href' =>->vmenue',->text' =>-><strong class=vmenue>VMenü</strong>',->title' =>->Das <strong class=vmenue>VMenü</strong>, ein Script...', array (->href' =>->dokumentation',->text' =>->Dokumentation',->title' =>->Hier beschreibe ich,...', ), ),->href' =>->download',->text' =>->Download',->title' =>->Download der verschiedenen Versionen', ), ), ); //Beispiel-Menü aus der Dokumentation.
    
    require('menu.php'); // Menü einbinden
    $menu = new VMenu; // Hier wird die Instanz erzeugt.
    $menu->value('entries', $eintrage); // Hier wird das Array an die Klasse übergeben.
    
    echo $menu->menu(); // Hier wird das Menü ausgegebn
    ?>
    
     
  3. hi Björn,

    danke schon mal für deine antwort.
    also ich hab jetzt folgendes gemacht, da ich ja das menü zentral verwalten will.

    das array hab ich in eine extra datei gelegt: menu.inc.php

    in die index hab ich dann dies eingebaut:

    jetzt werden zumindest schon mal die links angezeigt, aber funktionieren noch nicht so ganz. muss ich nochmal schaun.
    ich komme nur noch nicht so wirklich mit dem inhalt der menu.php klar. bei fragen würde ich gern nochmal auf dich zukommen.

    bin zumindest schon mal ein großes stückchen weiter.

    danke dafür :)
     
  4. hab nun schon ne weile probiert, aber irgendwas stimmt mit den pfaden nicht.

    ich habe alle dateien in einem verzeichnis, also müsste ich doch eigentlich keine pfade angeben.
    wenn ich allerdings über xamp die seite mir anzeigen lasse, so erscheint bei der index alles, auch
    die links des menüs.

    wenn ich jedoch über einen link drüber gehe, so will der die file eine ebene höher öffnen.
    so sollte es sein:

    http://localhost/testdir/index.php

    und so siehts aus, wenn ich über den link startseite (oder andere) gehe:

    http://localhost/index.php


    hier nochmal ein kleiner ausschnitt vom array (muss ich den pfad von href ändern?):
     
  5. das problem ist, wenn ich den pfad ändere mit /testdir/
    dann haut gar nichts mehr hin, die CSS-file wird ignoriert, weil
    der pfad ja auch nicht mehr stimmt. *arg*
     
  6. also für die erste menü-ebene hab ich das mit dem pfad hinbekommen. da ist in der menu.php die path-angabe gewesen.

    jetzt such ich gerade die anweisung für die submenüs...ich würde mal nen code-teil posten, vielleicht seht ihr den fehler.

    wie gesagt, alle dateien sind in einem verzeichnis untergebracht. wenn ich auf ein link klicke und die sublinks gehen auf, dann wird unten im browser der link so dargestellt, was natürlich nicht geht:

    http:/localhost/verzeichnis/datei1.phpdatei2.php ....es sollte also nur datei2.php angezeigt werden. wie löscht man dort dir datei1.php?

    vielleicht blickt ihr hier durch, ich hoffe der code reicht.
     
  7. ZUO
    ZUO
    Also wird ich das sehe ist hat jede Seite eine eigene Datei.
    Kannst du nicht das Menü direkt in der Menu.php bauen?

    Ich weis das der Sinn in PHP besteht dynamischen Code
    zu bauen aber manchmal sind statische Inhalte einfacher.

    Muss es denn wirklich ein Array sein?

    Nun gut.
    Wenn es so sein muss...

    so würde ich es ungefähr machen wenn ich so ein Array im Array benutze:

    Code:
    <?php
    
    $eintrage = array (
    		array (->href' =>->/index.php', ->text' =>->Startseite', ->title' =>->Zurück zur Startseite' ),
    		array (->href' =>->/testdir/vmenue.php', ->text' =>->VMenü', 	'title' =>->Das VMenü'),
    		array (->href' =>->/dokumentation.php', ->text' =>->Dokumentation', ->title' =>->Hier beschreibe ich,...' )
    			);
    
    foreach($eintrage as $aeintrage) {
       echo <a href='.$aeintrage['href'].' title='.$aeintrage['title'].'>.$aeintrage['text'].</a><br/>\n;
     }
    
    ?>
    
    Falls es dir aufgefallen ist habe ich im href immer ein / vor gesetzt das heist
    das er immer vom Rootverzeichniss den Pfad nimmt.

    z.B.

    /index.php
    http://localhost/index.php

    /testdir/vmenue.php
    http://localhost/testdir/vmenue.php


    wenn man nen Punkt nimmt oder Punkt und Strick weg lässt kommen andere Sachen raus wenn die Datei
    vom anderen Verzeichniss included wird.

    Wenn du z.B. im testdir bist würden sie so aussehen:

    ./index.php
    http://localhost/testdir/index.php

    ./testdir/vmenue.php
    http://localhost/testdir/testdir/vmenue.php


    MFG ZUO
     
  8. hi ZUO,

    danke für die super erklärung. waren jedenfalls ein paar neue infos für mich dabei.
    hab das natürlich gleich mal probiert und es funktioniert soweit. bis auf ein problem noch.

    normalerweise wäre ein statisches menü die einfachste lösung, richtig. das problem ist nur,
    dass ich bei einem link eine 2. ebene habe.

    1. Link
    2. Link
    3. Link
    3.1 Link
    3.2 Link
    4. Link

    deswegen dachte ich, muss es was dynamisches sein. denn die unterlinks sollen ja nur angezeigt werden,
    wenn man auf den 3. Link klickt bzw. einen der unterlinks.

    das scheint mit deinem code leider noch nicht realisierbar zu sein.

    in meinem array sieht das so aus (die datei heißt menu.inc.php):
    in der index sieht das wie nach deiner angabe nun wie folgt aus:

    von der scriptseite, woher ich das menü habe, wurde folgender code angegeben. damit klappt das mit dem untermenü
    soweit auch gut, es öffnet die gewollten links. allerding zeigt es im browser unten in der statusleiste den link so an:
    http://www.meineseite.de/x.phpx1.php [sprich die seite x.php dürfte dort nicht stehen und ich weiß nicht, wie ich die wegbekomme]


    die datei menu.php war ebenfalls schon vorgegeben und da steckt allerhand code drin.
    die datei hab ich mal hier zum einsehen auf meinem server: http://historisch.biz/menu.txt (damit es lesbar ist, hab ich das mal als .txt abgespeichert)
    ich denke mal, damit wird es ein wenig klarer, da hier der hauptteil des menüs steckt. allerding bin ich da mit zu viel laienhaften wissen ausgestattet, als dass ich daraus schlau werde.

    danke trotzdem schon mal für die mühe. ich hoffe hier sieht noch jemand durch.

    Tom
     
Die Seite wird geladen...

Probleme mit dynamischen Menü in php - Ähnliche Themen

Forum Datum
SEHR DRINGEND: Probleme bei Upgrade auf Windows 7 Windows Vista Forum 13. Nov. 2016
W10M - Glance Screen & DTTWU Probleme Windows 10 Forum 4. Nov. 2016
probleme mit windows 7 update bitte um hilfe. Windows 7 Forum 4. Nov. 2016
Probleme mit .NET Framework 3.5 installation Windows 10 Forum 19. Okt. 2016
Windows 10 Bluetooth Probleme Windows 10 Forum 17. Okt. 2016