Einbindung einer Naviagtion mit SSI
Hamu
- programmiertechnik
Hallo!
Ich habe eine Frage zur Einbindung eines Naviagtionselements mit SSI in eine Homepage.
Angenommen:
Ich habe x Seiten in einem Verzeichnis untergebracht.
Ich habe eine Tabelle mit einigen relativen Links zur Navigation durch meine Homepage.
Diese Tabelle fuege ich per SSI in die x verschiedenen Seiten ein.
Wenn sich ein Link aendert, muss ich nur die Datei mit der Tabelle aendern, die ueber SSI automatisch in die anderen eingefuegt wird. Toll! So weit ist alles klar.
Was mache ich denn, wenn ich meine x Seiten nicht nur in einem Hauptverzeichnis, sondern manche auch in Unterverzeichnissen untergebracht habe?
Problem: Die Tabelle, die ueber SSI eingefuegt wird, enthaelt relative Links, die, wenn man die Navigation in einem Unterverzeichnis anwendet natuerlich nicht mehr stimmen.
Ich habe mir ueberlegt, dass ich dann vielleicht fuer jede Verzeichnisebene eine eigene Navigation mache, bei der die relativen Links dann stimmen. Gefaellt mir aber nicht so, denn da hab' ich ja dreimal mehr Arbeit. Ich bin ja soooo faul ;)
Eine andere Moeglichkeit waere es mit <base href="_____"> fuer die Navigation eine gemeinsame Grundlage zu schaffen. Gefaellt mir aber auch nicht, da absolute Verlinkung (oder?).
Gibt's da keine elegante Loesung fuer?
Hartmut
Hi!
Es ist schon spät, also vielleicht klappts mit dem denken nicht mehr so, aber du brauchst ja bei den Link-Angaben nur aus den Unterverzeichnissen springen und dann wieder zurück in das entsprechende Unterverzeichnis.
Verstanden? ;-)
Also
Verzeichnisse:
haupt
-- index.htm
-- Verz1
--seite1.htm
--seite2.htm
-- Verz2
--seite3.htm
--seite4.htm
Die Navigation schaut dann so aus:
<a href="/index.htm">index</a>
<a href="/Verz1/seite1.htm">index</a>
<a href="/Verz1/seite2.htm">seite2</a>
<a href="/Verz2/seite3.htm">seite3</a>
<a href="/Verz2/seite4.htm">seite4</a>
mfG
BRAND
Schaut mal:
haupt
-- index.shtml
-- Verz1
--seite1.shtml
--seite2.shtml
-- Verz2
--seite3.shtml
--seite4.shtml
-- Verz3
--seite5.shtml
Vielleicht war meine Beschreibung nicht ganz klar (ist ja schliesslich schon spaet ;)), aber die Navigationsleiste erscheint auf *jeder* Seite. (alles in einer blinden Tabelle - keine Frames)
D.h. in index.shtml saehe das so aus:
<a href="Verz1/seite1.shtml">Seite1</a>
<a href="Verz1/seite2.shtml">Seite2</a>
<a href="Verz2/seite3.shtml">Seite3</a>
<a href="Verz2/seite4.shtml">Seite4</a>
<a href="Verz2/Verz3/seite5.shtml">Seite5</a>
In Verz1 so:
<a href="(../Verz1/)seite1.shtml">Seite1</a>
<a href="(../Verz1/)seite2.shtml">Seite2</a>
<a href="../Verz2/seite3.shtml">Seite3</a>
<a href="../Verz2/seite4.shtml">Seite4</a>
<a href="../Verz2/Verz3/seite5.shtml">Seite5</a>
In Verz2 so:
<a href="../Verz1/seite1.shtml">Seite1</a>
<a href="../Verz1/seite2.shtml">Seite2</a>
<a href="(../Verz2/)seite3.shtml">Seite3</a>
<a href="(../Verz2/)seite4.shtml">Seite4</a>
<a href="Verz3/seite5.shtml">Seite5</a>
In Verz3 so:
<a href="../../Verz1/seite1.shtml">Seite1</a>
<a href="../../Verz1/seite2.shtml">Seite2</a>
<a href="../seite3.shtml">Seite3</a>
<a href="../seite4.shtml">Seite4</a>
<a href="seite5.shtml">Seite5</a>
So, und das waeren dann verschiedene Navigationen fuer jedes verschiedene Verzeichnis. Wenn man die Klammern dazunimmt, habe ich nur eine unterschiedliche Navigation pro Verzeichnisebene. Aber ich moechte eben alles in eine einheitliche Navigation packen.
Oder hab' ich BRAND da jetzt falsch verstanden? Vorschlaege?
Hartmut
Hi,
Vielleicht war meine Beschreibung nicht ganz klar (ist ja schliesslich schon spaet ;)), aber die Navigationsleiste erscheint auf *jeder* Seite. (alles in einer blinden Tabelle - keine Frames)
jaja, das war glaube ich schon klar :-)
D.h. in index.shtml saehe das so aus:
<a href="Verz1/seite1.shtml">Seite1</a>
[...]
Ändere das in
<a href="/Verz1/seite1.shtml">Seite1</a>
In Verz1 so:
<a href="(../Verz1/)seite1.shtml">Seite1</a>
[...]
Ändere das in
<a href="/Verz1/seite1.shtml">Seite1</a>
In Verz2 so:
<a href="../Verz1/seite1.shtml">Seite1</a>
[...]
Ändere das in
<a href="/Verz1/seite1.shtml">Seite1</a>
In Verz3 so:
<a href="../../Verz1/seite1.shtml">Seite1</a>
[...]
Ändere das in
<a href="/Verz1/seite1.shtml">Seite1</a>
So, und das waeren dann verschiedene Navigationen fuer jedes verschiedene Verzeichnis.
Nein, sie sind alle wunderbar identisch, wenn Du relativ zum Root ("/") referenzierst :-)
Cheatah
Super, das klappt und gefaellt mir.
Danke, Cheatah!
Hamu
Was mache ich denn, wenn ich meine x Seiten nicht nur in einem Hauptverzeichnis, sondern manche auch in Unterverzeichnissen untergebracht habe?
ich benutze gern folgende Form für Menüs, Script und Styleeinbindung:
a href="../verzeichnis/datei"
ich speichere also alle Dateien genau eine Ebene über dem Hauptverzeichtnis, was für meine Projekte immernoch den besseren Überblick bringt als eine komplizierte Baumstruktur oder das andre Extrem: alles in ein Verzeichnis.
Bei CSS ist diese Form übrigens sogar nötig: da Netscape Grafiken in der CSS Datei relativ von der Einbindungsdatei sucht, der Explorer aber relativ zur CSS Datei (sorum wars doch, oder ?), kann man nur so oder per base href= Grafiken in den Stylesheets richtig referenzieren.
nochmal meine (Baum)struktur:
-styles
-gfx
-menue
-script
-html1
-html2
usw.
ok, so geht's auch.
Aber ich wuesste doch ganz gerne einen Weg mit mehreren Verzeichnisebenen (ist in diesem Fall wirklich noetig).
Das mit den Style Sheets faellt bei mir nicht so ins Gewicht, weil ich bei den Grafiken nicht mit CSS arbeite.
Koennte man vielleicht ein kurzes CGI-Script schreiben, das die relativen Links in der Navigation automatisch anpasst? Das gefaellt mir aber auch irgendwie nicht. Da mache ich doch lieber fuer jede Verzeichnisebene eine eigene Navigation (sind eh 'nur' 3 Ebenen).
Gute Nacht!
Hartmut