URL einer Datei in einem Anderen Frame erfahren, um Link vorzuheben.

AHelfer

Mitglied
Guten Tag alle zusammen.
Ich kleiner Anfänger hab mal wieder Probleme die sicherlich lächerlich scheinen :(
und hoffe auf euren Rat und euer fachwissen ;)

Also meine Vrogaben:
Ich habe eine Homepage mit Frames um genau zu sein 3 Teile: Header mit logo, Frame mit Linksstruktur und Body mit Inhalt.

Mein Ziel
Ich möchte im Frame den Link der aktuell angezeigten Seite im Body hervorheben damit man sieht "wo man sich befindet".

Meine Ideen zur Lösung.
Ich habe zuerst überlegt ob es möglich ist, die URL der Seite im Body auszulesen und dann, mit einer kleinen if funktion einfach den link mit der Variabel zu vergleichen und wenn es übereinstimmt dem Link eine andere CSS-class zuzuweisen.

Nun habe ich das Problem, dass es wie es scheint nicht gerade einfach ist diese URL herauszufinden da diese in einem anderen Frame ist. (also geht schon mal $_SERVER["PHP_SELF"] usw nicht.)


Mein zweiter gedanke war dann mit einer Session zu arbeiten jedoch hatte ich auch da Probleme. (liegt es daran das die Seiten gleichzeitig geladen werden oder teilweise die Frameseite mit den links ja nicht neu geladen wird?) jedenfalls kahm ich da nicht mal in die nähe einer Lösung.

Ne andere idee hatte ich gerade und diese noch nicht ausprobiert.
Wäre es vielleicht möglich mit php zu kontrollieren welchen Link man als letztes geklickt hat und dann einfach mit den links per if Funktion zu vergleichen?

Ist da ganze überhaupt möglich (evtl mit javascript? aber da hab ich ncoh weniger ahnung als von php :confused:) oder ob das durch die Framestruktur der bestehenden Page unmöglich ist und es einfacher wäre die ganze page ohne Frames neu zu gestalten?


Besten Dank für eure Antworten und eure Bemühungen.
 
Es gibt eigentlich nur drei richtige Antworten: Verwende keine Frames. Verwende keine Frames. Verwende keine Frames.

Wenn Du doch Frames verwenden willst ist das ein klarer Fall fuer Javascript-Einsatz.
 
Danke für deine rasche Antwort Zitac.

Nach reichlichem überlegen wurde entschieden auf Frames zu verzichten und die gesamte Page zu überarbeiten.

Nun könnte ich das ja so machen wie meine erste Idee gewesen ist.
Also URL erkennen und die links vergleichen und einfach ne andere class zuteilen falls sie übereinstimmen.

Oder gibts da klügere varianten? also die Navigationsmenu ansonsten sind statisch und nur mit html programmiert.. ich werde diese nun einfach mit include immer das jeweilige wieder einfügen wenn nötig.
 
Wenn du im Menu auf $_SERVER["PHP_SELF"] prüfen willst, um damit die CSS-Klasse entprechend zu setzen gibt es eine klügere Variante:

Die Standard-Herangehensweise ist folgende: Die Links sehen so aus (oder ähnlich):
index.php?site=aboutme
index.php?site=contact
index.php?site=guestbook

In der Indexdatei siehts dann so aus, dass du ein Grundgerüst hast, damit deine Seite immer gleich aufgebaut hast. An einer Stelle bindest du dann z.B per include dein Menü ein in dem du auf die Variable $_GET['site'] prüfst und entsprechend deine CSS-Klasse setzt. An einer anderen Stelle im Grundgerüst bindest du den entsprechenden Inhalt ein mit include($_GET['site'].'.php'); (Grundversion)
 
@DeeJTwoK:
hmm.. auch eine Möglichkeit jedoch bin ich kein so grosser fan von solchen Links.

Mein link müsste dann so aussehen bspl:

index.php?site=zentrum&frame=frame1-1&header=header-zentrum

(und das schon nur beim ersten link den man anklickt)

oder wie man das auch immer zusammenhängen würde da die struktur der page recht "tiefgehend" ist
also teilweise gibts
ordner1->ordner2->ordner3->ordner4 usw.

und jeder dieser ordner hat ein anderes statisches frame da das menu wie eine baumstruktur sein soll (also aufklappen usw) jedoch nicht dynamisch programiert wurde. (auch was was man mal ändern müsste/könnte jedoch auch da ist das fachwissen noch nicht vorhanden)
 
Zurück