Menü unter PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
beherrschen
blocken
code
datei
definiert array
display
einbeziehen
erachten
erneutem klicken
fehlen
grundlage
http
machen
paket
pfad
sache
span
verarbeitung
zeitunterschied
-
Hallo.
Ich habe gerade ein Problem, welches sich seit gestern schon hinzieht.. ich google schon seit mehrern Stunden, finde es aber einfach nicht...
Bin schon etliche Sachen durch, aber nix funktioniert.
Worm geht es?
Ich habe derzeit einfach ein Menüfeld:
<?menuehead("TestKlick")?>
» <a href="?content=/Testbereich">Seite1</a><br>
» <a href="?content=/Testbereich">Seite2</a><br>
<?menuefoot();?>
Meine Frage ist jetzt wie ich das in ein "aufklappendes" Menü umwandeln kann. D.h. wenn ich auf "TestKlick" klicke, die beiden Links gezeigt werden, bei erneutem klicken sie wieder weg sind...
Die Datei in der der ganze Spass ist, ist ein *.php - Datei...
Ich bin für jede Hilfe dankbar. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dazu musst du die beiden Links mit in die PHP-Verarbeitung einbeziehen. Nur in PHP kannst du Bedingungen verarbeiten lassen - bei dir hört die Verarbeitung allerdings über den Links mit "?>" auf
Du müsstest also in PHP so was ähnliches wie dies hier schreiben:
<? menuhead( "TestKlick" ); if (empty($_SESSION['testklick']) or $_SESSION['testklick'] == 0) { // Links wurden nicht angezeigt -> zeige an echo "<a href="?content=/Testbereich">Seite1</a><br>"; echo "<a href="?content=/Testbereich">Seite2</a><br>"; $_SESSION['testklick'] = 1; } else { // Links wurden bereits angezeigt, doch sollen nun eingeklappt werden // hier darf also kein echo ... stehen. $_SESSION['testklick'] = 0; } menufoot(); ?>
Grüßle
Beitrag geändert: 14.11.2008 10:55:35 von scout -
Es funktioniert irgendwie nicht :(
-
Meines Erachtens ist PHP da auch nicht die Lösung, sondern Javascript. Hier findest du solche Menüs: http://www.dynamicdrive.com/dynamicindex1/indexc.html
Oder einfach googlen. Kann zwar kein Javascript, aber das muss man auch nicht beherrschen um diese Sachen anzuwenden. Gruß
-
Ja, die Adresse kenn i schon...
Hab jetzt was anderes gefunden... ist zwar im Endeffekt nicht das was ich wollte, aber eine gute Alternative, find i zumindest (Klappmenü).
Und ja, wie es scheint muss man auch Javakenntnisse haben.. und da ich diese nicht habe, muss ich auf "fertige" Sachen zurückgreifen.. -
Schau dir das Menü auf meiner Seite mal an:
http://prog.lima-city.de/html/
Das ist genau das, was du brauchst.
Funktioniert mit und ohne JS:
<li><a class="mehr" href="?ausgeklappt=1" style="font-size:10pt;" onclick="ausklappen('tools',this);return false;">>> mehr <<</a></li> <ul id="tools" style="display:none;"> <li><a class="" href="http://prog.lima-city.de/html/zeit.php?ausgeklappt=1" style="" onclick="">Zeitunterschied</a></li> <li><a class="" href="http://prog.lima-city.de/html/synax?ausgeklappt=1" style="" onclick="">Highlighter</a></li> </ul>
Der zugehörige PHP-Code:
<?php //..... Das ganze Menü ist als Array definiert array("[SPAN]",'<ul id="tools" style="display:'.($_GET['ausgeklappt']==1 ? 'block' : 'none').';">'), array(PFAD."zeit.php?ausgeklappt=1","Zeitunterschied"), array(PFAD."synax?ausgeklappt=1","Highlighter"), array("[SPAN]","</ul>"), //..... Hier gehts dann weiter ?>
Gruß, Prog
Beitrag geändert: 14.11.2008 20:02:19 von prog -
Generell solltest du den PHP Tag nicht mit
sondern mit<?
aufrufen, aber das ist nur eine kleine Anmerkung<?php
-
langsam glaub ich echt das ich zu doof dafür bin...
Ich glaube langsam echt das ich noch Jahre dransitzen werde bis mal das klappt was ich will un nicht immer unweigerlich das passiert was ich nicht will^^
Wenn ich den Code eingebe, dann steht "<<mehr>>" da, wenn ich es dann anklicke passiert garnichts :( -
Kein wunder, du solltest dir vielleicht auch noch das JS Ausklappen anschauen.
Ohne JS ist das einfach ein Link, der die Seite mit aufgeklapptem Menü aufruft. Dazu dient das ?ausgeklappt=1
PHP erkennt das und macht dann statt display:none display:block
Für die JS-Version das Script (schön von meiner Seite Kopiert)
<script type="text/javascript"> <!-- function ausklappen(element,aufrufer){ element = document.getElementById(element); if(element.style.display == "none"){ element.style.display = "block"; aufrufer.innerHTML = "<< weniger >>"; } else{ element.style.display = "none"; aufrufer.innerHTML = ">> mehr <<"; } return true; } //--> </script>
Ich fürchte, dir fehlen für dieses Projekt die Grundlagen, sonst hättest du es längst geschafft (nicht böse gemeint)
Gruß, Prog -
Hab ja auch im vorhergehenden Post gesagt das mir die Grundlagen fehlen ;)
Ich weis aber das man für jedes Menü auch ein JS braucht... auch bei meinem jetzigen, aber da war schon alles mit drin im Paket.. bzw. in der Erklärung ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage