IT-Academy Logo
Sign Up Login Help
Home - Programmieren - PHP - Aufklapbare Menüs mit PHP



Aufklapbare Menüs mit PHP

Aufklapbare Menüs haben das Vorteil einer übersichtlichen und zugleicherzeit platzsparender Navigation, aber da sie mit Javascript erstellt werden, gibt es immer wieder Probleme mit der Kompatiblität. Deshalb gibt es auch eine PHP-Variante.


Autor: Patrick Faes (dreamer)
Datum: 29-12-2003, 00:30:04
Referenzen: keine
Schwierigkeit: Fortgeschrittene
Ansichten: 15176x
Rating: 8 (7x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Aufklapbare Menüs sieht man oft, doch nur mit Javascript. Da dies Probleme mit der Kompatibilität mitbringt, sollte man generell davon abraten. Wenn man dies dennoch haben möchte, um Platz zu sparen, kann man dies auch mit PHP machen. Der Nachteil davon ist das die Seite jedesmal neu geladen werden muss (eventuell könnte man dann Frames verwenden).

Als Beispiel nehme ich hier eine Liste mit die Menüpunkte:
<ul>
<li><a>Bildschirme</a></li>
<li><a>Drucker</a></li>
</ul>
Diese sollte man immer mit PHP includieren und zum Bildschirm schreiben lassen:
<?php include('menu.php');?>

<?php
//menu.php

echo'
<ul>
<li><a>Bildschirme</a></li>
<li><a>Drucker</a></li>
</ul>
';?>
Wer mehr wissen möchte über das Sprachkonstrukt echo(): http://php.net/manual/de/function.echo.php
Wer mehr wissen möchte über die Funktion include(): http://de.php.net/manual/de/function.include.php

Jetzt werden die Links im obigen Beispiel jeweils ersetzt durch:
<?php
If ($var1 != 'bildschirme')
  {echo '<li><a href="index.php?var1=bildschirme">Bildschirme</a>';}
Else
  {include('bildschirme_unterkategorien.php');}
?>
Wenn die Variable var1 nicht gleich Bildschirme ist, wird der betreffende Link zum Öffnen der Unterliste im Quellcode geschrieben, ansonsten wird die Datei bildschirme_unterkategorien.php eingefügt. Es ist möglich um auch die Unterliste nochmal einzuteilen und dort Unterkategorien einzubauen. Um den Code dann noch übersichtlich zu halten, habe ich die Unterliste in eine separate Datei untergebracht. Später braucht man dafür dann auch noch eine zweite Variable.
Anmerkung: ich verweise hier zur Index-Seite, aber in der Praxis kann man zu jeder Seite Verweisen auf denen die Liste includiert wird, es ist nur erforderlich die Variablen mit jedem Link mitzugeben. Es ist auch möglich die Variable $_SERVER['PHP_SELF'] zu verwenden, in welchen der Name des aktuellen Scripts (sprich Seite) gespeichert ist).

Die Datei bildschirme_unterkategorien.php sieht dann so aus:
<?php
echo'
<ul>
<li><a>15 TFT</a></li>
<li><a>17 TFT</a></li>
<li><a>19 TFT</a></li>
</ul>
';?>
Denken Sie daran dass includierte PHP-Code sich nicht von selbst ausführt, sondern in dem Code selbst ein Schreibbefehlt (in diesem Falle echo stehen soll). Wenn man diese dann noch unterverteilen möchte, könnte das so aussehen:
<?php
echo '<ul>';
if ($var2 != '15_tft') {echo '<li><a href="index.php?var1='.$var1.'&var2=15_tft">15 TFT</a></li>';}
else {include '15_tft.php';}
...
echo '</ul>';
?>
Hier wird die zweite Variable var2 eingefügt. Wenn dann die Variable $var2 nicht gleich '15_tft' ist, wurde dieser Link in jedem Fall nicht geklickt und muss deshalb angezeigt werden. Im anderen Fall soll das nächste (dazugehörige) Untermenü eingefügt werden. Ich möchte auch nochmal darauf hinweisen dass den Wert von var1 behalten bleiben muss, ansonsten wird das Menü wieder zugeklappt (die Untermenüs die nicht am Wert der Variable gelinkt sind, werden automatisch geschlossen). Die Datei 15_tft.php wird auch nach demselbem Muster gebaut.


trevolution
Rookie
Beitrag vom:
16-09-2006, 14:33:56

Grafiken/Einbau---

Ich kapiere nicht ganz wie ich das in meine bestehenden Seiten einbauen soll da ich mit php/templates arbeite...
und ist das ganze auch mit grafiken möglich?

Kann mir jemand helfen?

ICQ 174-705-877

-----------------------------------------------------


dreamer
Expert
Beitrag vom:
10-08-2005, 10:07:19

Das Script funktioniert einwandfrei.

-----------------------------------------------------


laberlaber
Rookie
Beitrag vom:
16-03-2005, 12:32:50

funktioniert nicht

so wie's hier beschrieben steht klappt det bei mir nicht.

hab mittlerweile eine andere variante (php) wenn ich mich auf dieser site hier mal auskenne stell ich's event online.

regards

-----------------------------------------------------


dreamer
Expert
Beitrag vom:
23-02-2004, 18:26:57

Für eine Javascript-Variante möchte ich nochmal auf einem anderen Artikel hinweisen:
http://www.it-academy.cc/content/article_browse.php?ID=1236

-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0