Dynamisches Menü in PHP 24. May 2004 um 00:00 Uhr /
Pingbacks
- frische-zitronen.de » Dynamisches PHP-Menü und kleine Webseitenvorlage
- first steps with php | cptmeti
Kommentare
Die Kommentare sind für diesen Eintrag geschlossen.
Die Kommentare sind für diesen Eintrag geschlossen.
VoodiX schrieb am 25.05.2004
Hi, bin beim überfliegen des Codes auf nen Fehler im ersten Code Bespiel gestoßen. das 'äußere' Array verdient zum einen eine schließende Klammer ) und zum anderen verdient die Variablen-Deklaration ein Semikolon am Ende, wird selten die letzte Anweisung sein.
Die Idee, so einen Artikel hier zu veröffentlichen finde ich gut, Basiswissen wird sicherlich vorrausgesetzt, ist aber in Ordnung.
Jeena Paradies aus Bamberg schrieb am 25.05.2004
Hi, danke für die Berichtigungen, das ist wohl beim kopieren irgendwie verloren gegangen.
Es ging mir vor allem um die Idee und um zu zeigen dass es gar nicht so aufwendig ist sich an diese Richtlinie zu halten um dem User das Surfen angenehmer zu machen.
Arnold aus Eichstätt schrieb am 30.05.2004
Hi, ich bastele an einer Seite, doch von php habe ich KEINE ANUNG so ein Script macht mich verrückt. Es würde mir viel leichter fallen die Sache zu Begreifen wenn ich ein paar vertig verlinkte Seiten, mit vertigen Skripts sehen könnte. Währe eifach super. Im ganzen Internet fand ich hunderte von Komplet vertigen Gästebüchern...... doch keinen einzigen vertigen (nur als Beispiel) Dynamischen Menü.
Thomas schrieb am 17.07.2004
hallo!
bin grad dabei deine Anleitung zu befolgen und ein Menu zu programmieren. Dabei ist mir aufgefallen, dass in deinem Beispiel "Die Menü-Schleife" in Zeile 9 bei 'if......current_page' bei curren ein 'r' fehlt.
MfG
Thomas
Jeena schrieb am 19.07.2004
Danke für deinen Hinweiß, ich habe das sofort geändert.
Jeena
Frank Bodammer schrieb am 31.07.2004
Hallo Jeena!
Ich hätte da noch eine Frage zu diesem Menü: Wie kann man nun auch noch erreichen, dass die Pfadangaben automatisch vom PHP-Skript gemacht werden, also immer die ../../../index.php etc.? Sonst muss man ja auf jeder Seite die arrays ändern?
Wie hast du das auf deiner Seite gelöst?
MfG,
Frank
Jeena aus Bamberg schrieb am 03.08.2004
Hi Frank,
Ich habe es bisher eigentlich so gemacht dass ich relative Pfadangaben vermiden habe und immer absolute also ab der Wurzel genommen habe. Das sieht dann ungefähr so aus:
/pfad/index.php
/news.php
Wenn wir jetzt also als Wurzelverzeichniss http://jeenaparadies.de/ nehmen und auf http://jeenaparadies.de/weblog/index.php verweisen wollen dann schreiben wir da einfach /weblog/ und fertig. Mit relativen Pfadangaben ist das natürlich etwas schwierig zu realisieren, man müsste da immer ermitteln wo man gerade ist und daraus dann den relativen Pfad zusammenbasteln.
Jeena
Orlando schrieb am 19.08.2004
Hallo Jeena,
wenn ich in jeder Seite deklarieren muss, um welche es sich handelt, ist der Vorteil gegenüber einem simplen HTML-Menü gering. Ideal wäre es, würde das Script erkennen, auf welcher Seite des Arrays es eingebunden wurde und dann diesen Link auslässt. Der Pfad lässt sich bestimmt ermitteln und anschließend in $current_page speichern.
Grüße,
Roland
Jeena Paradies aus Bamberg schrieb am 22.08.2004
Tom aus Sankt Andreasberg schrieb am 16.09.2004
Funky aus Hasloch schrieb am 30.09.2004
Der aktuelle Pfad lässt sich ganz einfach ermitteln mit
$current_page = basename($PHP_SELF,".php");
Schöne Grüße
Funky
Thorsten schrieb am 09.10.2004
Hallo Jeena,
ein PHP-Menue in der Form ist eine gute Idee. Man muss weniger hmtl-coden. Ich bin kein PHP-Programmierer, sonst würde ich die
Änderung vielleicht selber hinbekommen, deswegen folgende Schwierigkeit:
Dein Script bewirkt den HTML-Code (hier Beispiel aufgerufene aktuell.php) :
<ul>
<li>Aktuell</li>
<li><a href='person.php'>Zur Person</a></li>
<li><a href='links.php'>Links</a></li>
</ul>
Jetzt gibt es per CSS in diesem Fall begrenzte Formatierungsmöglichkeiten und zwar auf <li> u. <a href...> . Alle <li>
Formatierung wirken sich auch auf die Formatierungen des Links aus. Ein <span> Befehl mit einem Pseudoformat <class> würde das
Erscheinungsbild des Menues bereichern und eine Trennung von Link und Liste bewirken. Beispiel s.u.
Wie müßte der PHP-Code z.B. mit einer weiteren Abfrage geändert werden um z.B. folgende Ausgabe zu erhalten:
<ul>
<li><span class="spezial">Aktuell</span></li>
<li><a href='person.php'>Zur Person</a></li>
<li><a href='links.php'>Links</a></li>
</ul>
alternativ, wenn auch die "current"-Page ein Menue-Link ist:
<ul>
<li><a href="aktuell.php class="spezial">Aktuell</a></li>
<li><a href='person.php'>Zur Person</a></li>
<li><a href='links.php'>Links</a></li>
</ul>
Ich hoffe, dass ich mich irgendwie verständlich ausgedrückt habe? :)
Gruss
Thorsten
Jeena Paradies aus Bamberg schrieb am 10.10.2004
Thorsten schrieb am 11.10.2004
Hi,
vielen Dank für Deine Mühe, hast mir echt weitergeholfen.
Gruss
Thorsten
Claudia schrieb am 01.11.2004
$current_page = basename($PHP_SELF,".php");
funktioniert nicht
Jeena Paradies aus Bamberg schrieb am 01.11.2004
claudia aus salzburg schrieb am 28.02.2005
hallo!
ich hab folgendes problem! ich versuch auch vergeblich so ein dynamisches menü zu erstellen, aber ich hab ehrlich gesagt nicht allzuviel ahnung vom programmieren und es is auch niemand weit und breit ders mir erkären könnte.
ich würds gern mal nach deiner anleitung versuchen, damit ich aber kapier wo man die verschiedenen codestücke reinschreibt wärs ein hit mal so ein komplettes dyn. menü im code zu sehen, ich den das würd mir aufschluss geben!
wäre super wenn du mir helfen könntest!
lg claudia
Jeena Paradies aus Varberg schrieb am 28.02.2005
Alexander Brock aus DE-MA schrieb am 04.04.2005
Jeena Paradies aus Varberg1 schrieb am 04.04.2005
Also die Ausgabe verspricht ein gutes script, das einzige was mir aufgefallen ist, ist dass die Startseite auf der Startseite selbst immer noch als Link dargestellt wird.
Leider kann man das Script nicht herunterladen, denn funpic verbietet deeplinks. Wenn du möchtest dann schicke es mir und ich werde es auf meinen Webspace hochladen und verlinken.
Jeena Paradies aus Varberg schrieb am 07.04.2005
So, ich habe es jetzt hochgeladen und alle können sich das Script herunterladen: implementierung.zip
Alexander Brock aus DE-MA schrieb am 10.04.2005
Günther aus Mainz schrieb am 11.05.2005
Jeena Paradies aus Varberg schrieb am 11.05.2005
Günther aus Mainz schrieb am 11.05.2005
Hallo Jeene,
danke erstmal für deine schnelle Rückmeldung und den Tipp mit dem Selfhtml-Forum, ich werde da mein Glück versuchen. Ich hatte schon befürchtet, dass das Problem schwieriger sein könnte.
(Übrigens finde ich dein Froum im Vergleich zu vielen anderen Foren sehr angenehm.)
Jeena Paradies aus Varberg schrieb am 11.05.2005
Danke für die Blumen. Allerdings ist das hier eigentlich kein Forum in dem Sinne. Es ist eine Art Onlne-Tagebuch (ein so genanntes Fach-Weblog) das ich führe, in welches in in unregelmäßigen Zeitabständen Artikel zum Thema Webdesign poste, die dann alle kommentieren können. Die Aktuellsten Beiträge findest du immer auf der Startseite des Weblogs.
Viel Glück bei der lösung deines Problems!
Jeena Paradies aus Varberg schrieb am 28.05.2005
Alexander Brock hat mir gerade eine neue Version seines mittlerweile sehr soliden Scriptes geschickt. Herunterladen kann man es hier: menuescript-1.0.0.zip. Dieses Zip enthält auch eine Bedienungsanleitung.
Olaf Neumann aus Gelsenkirchen schrieb am 26.06.2005
Hallo Leute!
Ich bin noch relativ unerfahren, was php-menüs angeht. Bisher habe ich PHP in Verbindung mit MySQL benutzt, das übliche halt.
Normalerweise programmiere ich stets die Menüs in HTML, was aber bei größeren Projekten mit einer menge Arbeit verbunden ist, zumal eine Kategorien ziemlich oft erweitert bzw. geändert werden.
Ein Freund hat mich auf die Idee gebracht, mal es mit PHP zu probieren.
Ein Versuch sieht so ähnlich aus:
<?php
include("menu.php");
?>
Das menu.php sieht dann verkürzt so aus:
<ul>
<li><a href="index.html">Home</a></li>
usw.
</ul>
Die include Datei wird in einen <div>Container geladen.
Können hierbei die Spider einer Suchmaschine überhaupt noch den Links folgen?
MfG
Olaf Neumann
Jeena Paradies aus Varberg schrieb am 26.06.2005
Ja, das ist eine einfache Variante, und ja die Suchmaschinen bekommen - wie übrigens auch alle Browser - ganz normales HTML ausgeliefert, sie merken nicht einmal dass da PHP dahinter werkelt. Übrigens brauchst du da gar keinen div-Container außenrum, das ul ist ja schon ein eigener Container.
Olaf Neumann aus Gelsenkirchen schrieb am 26.06.2005
Hallo Jeena!
Danke für deine schnelle Antwort. Wie gesagt, ich halte alles etwas einfacher, als wie bei deinem Menü. Ich bin auch nicht der große PHP-Fan, vielleicht daher meine Zurückhaltung. Nochmals besten Dank und weiterhin viel Erfolg.
MfG
Olaf Neumann
Nina schrieb am 05.07.2005
Wenn ich das Menü (aus dem letzten hier angebenenen Zip-File) einbaue, dann steht auf der Seite vor der Menüausgabe diese komische Zeichenkette:

Irgendeine Idee woher das kommt?
Nina schrieb am 05.07.2005
Ich habe die Lösung gerade gefunden. Falls bei euch das Problem auch auftritt, ist die Lösung ganz einfach:
Achtet darauf, dass in eurem Editor am besten gar kein Zeichensatz mitgegeben wird, sondern ihr zB. in ANSI speichert. In meinem Fall habe ich den ganz normalen Windows Editor genommen. Wenn man damit dann eine PHP-Datei abspeichert, muss man darauf achten, dass beim Speichern unten "ANSI" ausgewählt ist.
Alexander aus dem guten alten Mannheim schrieb am 05.07.2005
Hallo Nina,
Die Dateien in dem Paket sind alle mit dem Zeichensatz UTF-8 gespeichert,
wenn ich also Umaulte verwendet hätte würdest du da ein Problem bekommen.
Das letzte verlinkte Script ist allerdings schon wieder veraltet, ich habe
es weiterentwickelt, die Handhabung vereinfacht,
ein weiteres Feature hinzugefügt und eine Dokumentation erstellt,
ich werde das ganze in den nächsten Tagen mal hochladen.
Gruß
Alexander
Chris schrieb am 06.07.2005
Also, das Script von Alexander Brock wäre ja super. Aber... es stört mich dass man für das Untermenu einen eigenen Ordner mit einer Index-Datei haben muss. Ich finde es ist umständlich. Gibts eine Möglichkeit, damit man die Dateien alle im gleichen Ordner haben kann?
Alexander aus dem guten alten Mannheim schrieb am 07.08.2005
Ben aus Hamburg schrieb am 30.08.2005
Hallo Jeena am 28.5.05 hast du ein Script von Alexander online gestellt, hab mir das mal angekuckt und das ist vom Grundsatz her das was ich suche nur ich möchte nicht per Verzeichnis sonder direkt auf eine Datei verlinken, kann man das dementsprechend anpassen?
Dein Script verstehe ich leider nicht vielleicht kannst du das ja mal als kleine Beispiel (z. Download) online stellen damit ich mir das mal fertig ankucken kann weil da scheint das ja möglich zu sein mit der verlinkung auf eine Datei und nicht auf ein ganzes Verzeichnis! Wäre super nett wenn du mir weiterhelfen könntest!!! MfG
Ben
Alexander aus dem guten alten Mannheim schrieb am 31.08.2005
sirena aus Basel am Rhein schrieb am 11.09.2005
Hallo zusammen
Ich trage mit einem Verweis bei:
Hier eine dynamische Navigation, mit welcher man auf eine Seite verlinken kann. Die Navigation ist in einer Tabelle. Hintergrund, Rahmen, Farben etc., kann alles geändert werden.
Beschreibung:
www.nak-webmaster.de
Demo:
Dynamisches Menue
Gruss sirena
Alexander aus dem guten alten Mannheim schrieb am 12.09.2005
Frank aus Gera/Deutschland schrieb am 19.09.2005
Hallo an alle
Über das „Googeln“ bin ich auf diese Site gekommen. Auch ich habe eine Frage zur Problematik Menu. Ich hatte eine Internetsite mit Frames gemacht. Von Frames möchte ich nun aber aus diversen Gründen weg kommen.
Da ich in der neuen Site von überall aus überall hinkommen will, stand nun für mich auch die Frage, wie mach ich’s am besten,- Antwort-mit PHP. Was PHP betrifft, bin ich ein Anfänger, versuche aber, mich reinzudenken. Ein Programmierer bin ich nicht, eher der „PHP Anpasser“.
Nach vielen Onlinelesen denke ich nun, die beste Lösung ist eine, ich nenne sie mal menu.php per <?php include("menu.php"); ?> einzubinden. Ich will aber ein Menu haben, welches sich nicht nach unten aufklappt, sondern zur Seite weg, wie bei http://www.udm4.com/.
Ich finde dieses Menu mit einer jeweiligen anpassbaren Strukturierung (Ebenen) sehr gut. Dabei muss ich im vorliegenden Fall eine .js Datei und eine .css Datei einbinden.
Das habe ich offline, installiert habe ich als Server Xampp, auch per localhost hinbekommen. Aber nur in der ersten Ebene, denn irgendwie ist es nicht möglich in eine nächste oder gar übernächste Ebene zu verlinken.
Ein Freund gab mir nun den Tipp, die Verlinkung mit absoluten Links zu bewerkstelligen. Das würde zur Not auch gehen. Ich denke aber, das kann nicht der Weisheit letzter Schluss sein, da ich so wiederum die Links (Site) nicht offline testen kann. Ich müsste also erst den absoluten Link einfügen, die Site hochladen und könnte dann erst sehen ob alles funktioniert.
Ich weis es nicht, aber ich glaube nicht das es nicht auch anders gehen kann.
Wer kann mir hier weiterhelfen oder hat einen Vorschlag dazu ?
Vielen Dank an alle und viele Grüße aus Gera in Thüringen
Jeena Paradies aus Varberg schrieb am 19.09.2005
Zum horizontalen Menü gibt es hier viele Beispiele wie es mit einer Liste umgesetzt werden kann: .
Und zu den permanenten Links kann ich dir nur empfehlen zu Hause einen Virtual Host einzurichten, den du dann zum Beispiel mittels http://meine-seite.test erreichen kannst. Dann hast du das problem mit der Testumgebung weg.
Frank aus Gera/Deutschland schrieb am 20.09.2005
Hallo,
vielen Dank für Deine Antwort.
Frage:
Ich arbeite mit Dreamweaver. Wenn ich ein neues Projekt starte, dann richte ich mir über die Site-Optionen in Dreamweaver einen Host ein, nach dem Prinzip wie Du es genannt hast. Mit Xampp habe ich meinen Server.
Oder sehe ich hier etwas falsch ?
Wie gesagt, das Prüfen der Links offline hat per localhost funktioniert.
Außerdem möchte ich kein horizontales Menu, sondern ich möchte ein vertikales, welches horizontal in tiefere Ebenen ausklappen kann.
Ich habe noch einmal auf der angegebenen Site nachgeschaut und dort auch eine PHP Version (4.44) entdeckt. Vielleicht kann dazu jemand der bei PHP durchsteigt etwas sagen ?
Vielen Dank und viele Grüße aus Gera/ Thüringen
Frank
Jeena Paradies aus Varberg schrieb am 20.09.2005
Mit virtual Host meine ich das hier: http://httpd.apache.org/docs/2.0/de/vhosts/ und beim ausklappbaren Menü hilft dir vielleicht dieser Link: http://www.porjes.com/jsmenus/jssidemenu4.html
Frank aus Gera/Deutschland schrieb am 23.09.2005
Hallo Jeena,
vielen Dank für die Links.
Jedoch ist nicht das dabei was ich such. Wahrscheinlich habe ich es auch nicht richtig erklärt. Ich suche also ein Menü welches sich NICHT nach unten aufklappt sondern zur Seite weg mit mehreren Untermenüs, und diese auch wieder zur Seite weg. Ein php Beispiel ist unter http://www.udm4.com/ zu sehen und auch zum download angeboten. Meine Frage ist nun, wie passe ich es so an, das ich die Links lokal testen kann und die Site auch so mit diesen lokal gesetzten Links hochladen kann. Meine Frage bezieht sich hier hauptsächlich auf die Links. Geht es auch anders oder muß man immer mit absoluten Links, in Form von http://www.xyz.de - arbeiten?-- Wie gesagt, dann kann ich aber nicht lokal testen?!
Vielen Dank und viele Grüße aus Gera/ Thüringen Frank
Jeena Paradies aus Varberg schrieb am 23.09.2005
Steffen schrieb am 09.11.2005
Gibt es eine Möglichkeit dieses Script auch auf einem Server im Unterverzeichnis laufen zu lassen?
Bei mir funktioniert es nämlich nicht richtig!
Jeena Paradies aus Varberg schrieb am 09.11.2005
Natürlich, du musst dann nur die Pfade anpassen. Ansonsten ist die Beschreibung "funktioniert nicht richtig" so wage, dass man dir konkret nicht helfen kann, leider.
Andreas aus Offenburg schrieb am 18.12.2005
Hi,
finde das script nur bedingt sinnvoll.
Das Problem das ich sehe ist dass in jeder aufgerufenen Seite/Funktion eine Codeimplementierung benötigt, was damit den Einsatz in CMS Systemen, wo Menüeinträge zur Laufzeit hinzugefügt bzw. entfernt werden, ausschließt.
Hier wäre es dann z.B. sinnvoller eine Rückkopplung über die aufgerufene URL auszuwerten.
Gruß Andreas
Alexander Brock aus dem guten alten Mannheim schrieb am 18.12.2005
Andreas aus Offenburg schrieb am 19.12.2005
Jeena Paradies aus Varberg schrieb am 19.12.2005
Wobei du dein Menü sehr komisch mit einer Tabelle (?) generierst und auch den aktuellen Menüpunkt verlinkst, was ja gerade verhindert werden sollte. Das was du da hast kann man ohne PHP und alleine mit CSS viel einfacher hinbekommen, wozu dann der Umweg über PHP?
Das Beispiel ist kein Fertigscript sondern soll vor allem zum verstehen und probieren anregen, fertige sachen gibt es schon genügend.
Anonym schrieb am 19.12.2005