Variablen weitergeben
Ilja
- programmiertechnik
0 Marc Reichelt0 Ilja
0 Jan Huss0 Ilja
0 Sönke Tesch0 Gunther0 Ilja
hi,
ich bin gerade dabei mein projekt auf frames umzustellen. dabei gibt es zwei frames, einmal das kopfframe, wo die menueleisten zum steuern der seiten sind und zum anderen das body frame, wo der jeweilige inhalt steht.
das menue soll aus nur einer datei bestehen. das problem ist nun, das bei jeden aufruf einer seite, das menue ein wenig verändert dargestellt werden soll, zum beispiel das meune, das gerade ausgewählt wurde, optisch hervorheben und die entsprechenden untermenues anzeigen. dazu muss ich bestimmte informationen an das menue frame weiterleiten.
die frage ist nun, wie löse ich das am besten. bis jetzt ist mir nur eine lösung in den kopf gekommen, die benötigten informationen an den link anzuhängen. ich porgrammiere mit php und könnte sie in php abrufen und dem entsprechend das menue gestalten.
ich finde die lösung aber noch nicht so elegant. deshalb wollte ich mal fragen, ob es noch andere möglichkeiten gibt.
Ilja
Hi Ilja,
natürlich gibt es andere Lösungen, z.B. die mit JavaScript.
Die Seite, die in dein "body"-Frame geladen wird enthält ein kleines Skript, das auf den oberen "menu"-Frame dieses und jenes hervorhebt (das ganze muss natürlich gut durchdacht werden).
Ich empfehle trotzdem eine Lösung dieses Problems mit PHP, so ähnlich vielleicht wie bei http://www.apple.com/quicktime/.
Viel Glück!
Marc Reichelt || http://www.marcreichelt.de/
hi Marc,
natürlich gibt es andere Lösungen, z.B. die mit JavaScript.
Die Seite, die in dein "body"-Frame geladen wird enthält ein kleines Skript, das auf den oberen "menu"-Frame dieses und jenes hervorhebt (das ganze muss natürlich gut durchdacht werden).
ok, kann ich nachvollziehen, wobei nicht nur dinge hervorgehoben werden müssen, sondern auch die untermenues dementsprechend geändert werden. aber das ist eine lösung, die ich ins auge fasse.
Ich empfehle trotzdem eine Lösung dieses Problems mit PHP, so ähnlich vielleicht wie bei http://www.apple.com/quicktime/.
ich würde auch lieber eine lösung mit php finden, allerdings benutzt die seite, die du gelinkt hast, keine frames ?
Ilja
hi,
ich würde auch lieber eine lösung mit php finden, allerdings benutzt die seite, die du gelinkt hast, keine frames ?
Ilja
Wozu Frames? OK, Ich verwende auf meiner Seite Frames, aber die ist auch nicht mehr so aktuell...
Marc Reichelt || http://www.marcreichelt.de/
Hallo,
Du kannst über
parent.framename. ...
die Funktionen und Variablen von anderen Frames nutzen. Das sollte das eleganteste sein, falls der Reload nicht nötig ist.
Ansonsten ist Deine Lösung durchaus ok.
Gruß Jan
hi Jan,
wenn ich das richtig verstanden habe, in den body frame den variablen in javascript werte zuordnen, die dann von den menue frame ausgelesen werden können ?
Ilja
die frage ist nun, wie löse ich das am besten. bis jetzt ist mir nur eine lösung in den kopf gekommen, die benötigten informationen an den link anzuhängen. ich porgrammiere mit php und könnte sie in php abrufen und dem entsprechend das menue gestalten.
ich finde die lösung aber noch nicht so elegant. deshalb wollte ich mal fragen, ob es noch andere möglichkeiten gibt.
Nein, mal abgesehen von der Mörderkonstruktion, in der alles per Javascript von einem Frame zu nächsten wandert.
Die Verwendung von Menü-Frames in Zusammenhang mit dem Wörtchen "elegant" zu bringen ist allerdings etwas..naja. Ob Du da nun mehr oder weniger "elegant" mit den Seitenbestandteilen in der Außenwelt herumjonglierst, ist meines Erachtens nach eher wurscht.
Gruß,
soenk.e
hi,
Hallo Ilja,
das menue soll aus nur einer datei bestehen.
Warum? So wie ich das sehe, muss die Datei doch eh (dann mit den geänderten Parametern) neu geladen werden. Dann kannst du doch auch gleich eine passende Datei erstellen. Wenn es nicht hunderte Menüdateien gibt, solltest du doch noch soviel Platz auf dem Server haben...
dazu muss ich bestimmte informationen an das menue frame weiterleiten.
Auch das verstehe ich nicht ganz. Das Menü 'weiß' doch so zu sagen noch vor dem body-frame, welche Datei vom User ausgewählt wurde. Wenn jetzt also alle Parameter in der Menü-Datei enthalten sind, kannst du sie doch bspw. mit einer switch()-Anweisung auswählen.
die frage ist nun, wie löse ich das am besten. bis jetzt ist mir nur eine lösung in den kopf gekommen, die benötigten informationen an den link anzuhängen.
Das wäre die Methode 'get'. Alternativ gäbe es da z.B. noch die Methode 'post'. Du erstellst ein Formular mit versteckten (hidden) Input-Feldern, die die entsprechenden Werte enthalten.
Ich würde aber die Methode mit den gesamten Parametern von vornherein in der Menü-Datei bevorzugen, oder ganz auf den Frameaufbau verzichten.
Gruß Gunther
hi Gunther,
Warum? So wie ich das sehe, muss die Datei doch eh (dann mit den geänderten Parametern) neu geladen werden. Dann kannst du doch auch gleich eine passende Datei erstellen. Wenn es nicht hunderte Menüdateien gibt, solltest du doch noch soviel Platz auf dem Server haben...
da hast du recht. allerdings habe ich 5 hauptmenues mit jeweils durchschnittlich 4 submenues. das wären dann so 20 extra seiten und mehr sind in arbeit. der speicherplatz wäre nicht so wichtig, allerdings der verwaltungsaufwand ist mir zu gross, wenn ich mal was verändern will. kommt zum beispiel ein submenue dazu, muss ich mehrere seiten ändern.
Auch das verstehe ich nicht ganz. Das Menü 'weiß' doch so zu sagen noch vor dem body-frame, welche Datei vom User ausgewählt wurde. Wenn jetzt also alle Parameter in der Menü-Datei enthalten sind, kannst du sie doch bspw. mit einer switch()-Anweisung auswählen.
wenn sich das menue aufbaut, muss ich bei nur einer datei für das menue wissen, auf welchen link der user zuvor ausgewählt hat. mal davon abgesehen, das switch nicht so elegant in meinen fall ist, muss ja schliesslich switch auch eine wert haben, nachdem es verzweigen kann.
Das wäre die Methode 'get'. Alternativ gäbe es da z.B. noch die Methode 'post'. Du erstellst ein Formular mit versteckten (hidden) Input-Feldern, die die entsprechenden Werte enthalten.
ja, habe ich auch ins auge gefasst. allerdings müsste ich dann grapfische submit buttons nehmen, um nicht die normalen submit-buttons in meiner menueleiste zu haben und ich bin grapfisch eine null. es sei denn, dafür gibt es eine andere lösung, die ich noch nicht kenne, ein formular abzuschicken.
Ich würde aber die Methode mit den gesamten Parametern von vornherein in der Menü-Datei bevorzugen, oder ganz auf den Frameaufbau verzichten.
ohne frames war es vorher, wo ich die variablen in php eingebaut habe, damit sich das menue entsprechend zusammen setzt. aber ich habe mich dafür entschieden, frames zu verwenden.
Ilja