Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [html/CSS] Navigation mit Seite synchronisieren (https://www.delphipraxis.net/38336-%5Bhtml-css%5D-navigation-mit-seite-synchronisieren.html)

Luckie 17. Jan 2005 22:00


[html/CSS] Navigation mit Seite synchronisieren
 
Kann man den Link in der Navigation der gerade angezeigten Seite per CSS irgendwie hervorheben, damit der Besucher sieht, wo er ist? Also wenn man bei meiner HP auf "News" klickt in der Navigation oben, dass dann der Link News zum Beispiel schwarz und ohne Unterstreichung dargestellt wird? Irgendwelche Scriptlösungen kommen eher nicht in frage, würden aber zur Not auch gehen.

sakura 17. Jan 2005 22:01

Re: [html/CSS]
 
Ersteres: Nein, nicht ohne serverseitige Markierung (also andere CSS-Klasse).
Zweiteres: imo auch nur sehr kompiliziert.

...:cat:...

Luckie 17. Jan 2005 22:06

Re: [html/CSS]
 
Ist so eine Navigation echt so kompliziert? Sieht man doch auf fast jeder zweiten Seite. :gruebel:

phlux 17. Jan 2005 22:08

Re: [html/CSS]
 
vllt kannst du dich hier inspirieren lassen ;)

MathiasSimmack 17. Jan 2005 22:11

Re: [html/CSS]
 
Vllt. habe ich´s falsch verstanden, aber ich habe das bei mir über SSI gemacht. Die Seite, die gerade angezeigt wird, wird per kurzer Prüfung nicht mehr als Link dargestellt. Und da es Server-seitig ist, gibt´s IMHO auch keine Probleme in den Browsern, usw.

sakura 17. Jan 2005 22:14

Re: [html/CSS]
 
Zitat:

Zitat von Luckie
Ist so eine Navigation echt so kompliziert? Sieht man doch auf fast jeder zweiten Seite. :gruebel:

Du wirst auch sehen, dass (fast) all diese Seiten der aktuellen Seite eine andere CSS-Klasse zugewiesen haben ;-) Also entweder alle Seiten von Hand machen, oder auf dem Server testen, wo Du bist und die Klassen entsprechend setzen.

...:cat:...

Luckie 17. Jan 2005 22:17

Re: [html/CSS]
 
Zitat:

Zitat von MathiasSimmack
Die Seite, die gerade angezeigt wird, wird per kurzer Prüfung nicht mehr als Link dargestellt. Und da es Server-seitig ist, gibt´s IMHO auch keine Probleme in den Browsern, usw.

Und wie machst du das?

MathiasSimmack 18. Jan 2005 08:38

Re: [html/CSS]
 
Sag ich doch: mit SSI :mrgreen:.

Ernsthaft: Das Prinzip kennst du, weil du es früher selbst mal benutzt hast. Oder du benutzt es immer noch, keine Ahnung. Kann man ja nicht nachvollziehen, wenn man sich den Seitenquelltext ansieht. Wie gehabt binde ich meine Navigation ein, bspw.:
Code:
<td>
 
</td>
Und in dieser SHTML-Datei prüfe ich dann, ob das aktuelle Dokument einen bestimmten Namen hat. Wenn nicht, wird es ein Link. Wenn ja, dann nicht.
Code:
  <a href="tutorials.shtml">

  Win32-API-Tutorials f&uuml;r Delphi

  </a>
Wenn also der Name des aktuellen Dokuments nicht (!=) "tutorials.shtml" ist, dann wird das ganze als Link dargestellt, andernfalls siehst du nur den Text.

Das ist zwar jetzt nicht ganz das, was du wolltest (mit anderen Farben, usw.), aber das Prinzip lässt sich natürlich problemlos dafür übernehmen. Vorausgesetzt, deine obere Navigation ist auch immer noch eine externe SHTML-Seite, dann kannst du ja ebenfalls prüfen ob ein bestimmter Dokumentenname vorliegt. Wenn Ja, gibst du eine andere CSS-Klasse an als wenn Nein. Und damit müsstest du diese farbliche Kennzeichnung von aktiven Seiten eigentlich hinbekommen. Ich weiß gerade nicht ob´s ein else bei SSI gibt (schon lange nix mehr damit gemacht :oops:), aber das lässt sich ja im Zweifel per Google schnell klären. :)

Jelly 18. Jan 2005 08:50

Re: [html/CSS]
 
@Mathias: kann man das was du beschreibst denn nicht auch gleich in PHP lösen, ganz analog?

Alexander 18. Jan 2005 09:07

Re: [html/CSS]
 
Zitat:

Zitat von Jelly
@Mathias: kann man das was du beschreibst denn nicht auch gleich in PHP lösen, ganz analog?

Klar geht das :-)
Du musst nur halt ähnlich abfragen und dann dem aktiven Link eine andere CSS-Klasse zu weisen.
Im Prinzip kannst du jedem Link eine eindeutige Nummer zu weisen und dann kannst du ganz einfach die ID an die URL hängen. Die kann man dann unter PHP einfach auslesen.

Denkbar wäre evtl. auch eine Möglichkeit mit JS+CSS. Du müsstest versuchen die URL auszulesen und entsprechend alle wegzuschnibbeln, so dass die ID stehen bleibt. Dann kannst du, wenn du z.B. dem Link auch den Namen der ID gegeben hast, z.B. die Farben umändern.
Ich habe es noch nicht probiert, aber ich weiß zumindest das man auch mit JS die URL auslesen kann und damit an die ID kommen kann.

Ich vermute, dass Luckie das für seine Referenz braucht und dafür ist natürlich PHP nicht so geeignet ;)

Jelly 18. Jan 2005 09:16

Re: [html/CSS]
 
Alles klar... Danke.

MathiasSimmack 18. Jan 2005 09:30

Re: [html/CSS]
 
Zitat:

Zitat von Alexander
Zitat:

Zitat von Jelly
@Mathias: kann man das was du beschreibst denn nicht auch gleich in PHP lösen, ganz analog?

Klar geht das :-)

Gut, brauche ich ja nicht mehr antworten. :mrgreen:

Zitat:

Du musst nur halt ähnlich abfragen und dann dem aktiven Link eine andere CSS-Klasse zu weisen.
Im Prinzip kannst du jedem Link eine eindeutige Nummer zu weisen und dann kannst du ganz einfach die ID an die URL hängen. Die kann man dann unter PHP einfach auslesen.
Warum so umständlich? Es gibt doch auch in PHP eine Möglichkeit, den Dokumentennamen zu erfahren. Und wenn man seine Links bspw. auch aus einer externen Datei holt, dann kann man bequem vergleichen. Ich nutze diesen Weg bspw. selbst auch. Und zwar lade ich XML-Daten (Texte) per PHP, und die Navigation kommt aus einer extra PHP-Datei. Aus einem Array, um genau zu sein. Das Array enthält den Link (den Dokumentennamen) und den darzustellenden Text zum Anklicken. Das Prinzip ist das gleiche: Ich gucke ob die geladene Datei mit einem der Werte aus dem Array identisch ist. Wenn ja, stelle ich das ganze nur als Text dar; ansonsten als Link.

Zitat:

Denkbar wäre evtl. auch eine Möglichkeit mit JS+CSS. Du müsstest versuchen die URL auszulesen und entsprechend alle wegzuschnibbeln, so dass die ID stehen bleibt. Dann kannst du, wenn du z.B. dem Link auch den Namen der ID gegeben hast, z.B. die Farben umändern.
Ich habe es noch nicht probiert, aber ich weiß zumindest das man auch mit JS die URL auslesen kann und damit an die ID kommen kann.
Jede Client-seitige Skriptlösung wie JavaScript hat aber den Nachteil, dass sie nicht funktioniert, wenn der User das abschaltet.

Zitat:

Ich vermute, dass Luckie das für seine Referenz braucht und dafür ist natürlich PHP nicht so geeignet ;)
Du meinst seine CD? Dann ist aber auch SHTML und SSI nicht geeignet, weil du dafür einen Server brauchst.

Luckie 18. Jan 2005 13:08

Re: [html/CSS]
 
Genau das wollte ich wissen, wie man per SSI den Dokumentennamen abfragt. Aber irgendwie scheint das nicht zu klappen:
Code:
 
    <a title="News" href="/News.shtml">
 
    News
 
    </a> |
Habe ich jetzt auch so auf meiner Homepage eingebaut, aber es bleibt immer ein Link.

MathiasSimmack 18. Jan 2005 14:08

Re: [html/CSS]
 
Lass dir doch mal anzeigen, was $DOCUMENT_NAME wiedergibt. War IMHO

Luckie 18. Jan 2005 14:12

Re: [html/CSS]
 
Das zeigt mir gar nichts an, egal welche Seite ich aufrufe. :gruebel:

MathiasSimmack 18. Jan 2005 14:13

Re: [html/CSS]
 
Was hast du´n für´n Server? Ist das Windows oder Linux?

Luckie 18. Jan 2005 14:14

Re: [html/CSS]
 
Steht doch unten auf jeder Seite:
Zitat:

Apache/1.3.31 (Unix) (Gentoo/Linux) PHP/4.3.10 mod_ssl/2.8.18 OpenSSL/0.9.7d

MathiasSimmack 18. Jan 2005 14:16

Re: [html/CSS]
 
Jetzt, wo du´s sagst :oops: Guckst du mal notfalls bei Self-HTML rein? Evtl. muss was in der Konfiguration eingestellt werden. Aber sicher bin ich nicht. Bei mir läuft ja auch bloß Linux, und da klappt´s problemlos.

jfheins 18. Jan 2005 14:17

Re: [html/CSS] Navigation mit Seite synchronisieren
 
Sons: Wenn du PHP hast, kannste das ja auch damit machen ...

Luckie 18. Jan 2005 15:08

Re: [html/CSS] Navigation mit Seite synchronisieren
 
PHP verträgt sich aber nicht mit SSI. Und bei self-html habe ich leider nichts gefunden, was passen würde.

MathiasSimmack 18. Jan 2005 15:14

Re: [html/CSS] Navigation mit Seite synchronisieren
 
Er wird das sicher so gemeint haben, dass du die Navigation notfalls auch mit PHP machen könntest. Du müsstest dazu ja eigentlich auch bloß die Endung deiner HTML-Seiten in PHP ändern und die entsprechenden SSI-Kommandos durch PHP-Code ersetzen.

Wenn das zuviel Aufwand ist (kann ich nicht entscheiden), dann schau mal ob du per Google was zum Thema [google]"server side includes"[/google] findest. Ich habe bei Self-Html bspw. gerade gelesen, dass nicht alle Server alle Parameter unterstützen. Vllt. trifft das bei dir zu, vllt. gibt es aber auch eine Lösung.

yankee 18. Jan 2005 15:22

Re: [html/CSS] Navigation mit Seite synchronisieren
 
das kommt mir alles sehr kompliziert vor, was ihr hier sagt.
Sowas geht doch mit ein bißchen JavaScript ganz einfach, und das egal, ob die Navigation auf Tabellen, DIVs oder frames aufbaut...

alcaeus 18. Jan 2005 15:24

Re: [html/CSS] Navigation mit Seite synchronisieren
 
Zitat:

Zitat von Luckie
Irgendwelche Scriptlösungen kommen eher nicht in frage, würden aber zur Not auch gehen.

Wer lesen kann... :zwinker:

Greetz
alcaeus

yankee 18. Jan 2005 15:30

Re: [html/CSS] Navigation mit Seite synchronisieren
 
oh, ja sry. Ich habe den Thread nur überflogen, da muss ich den Satz übersehen haben :-)

Alexander 18. Jan 2005 18:07

Re: [html/CSS]
 
Zitat:

Zitat von MathiasSimmack

Zitat:

Du musst nur halt ähnlich abfragen und dann dem aktiven Link eine andere CSS-Klasse zu weisen.
Im Prinzip kannst du jedem Link eine eindeutige Nummer zu weisen und dann kannst du ganz einfach die ID an die URL hängen. Die kann man dann unter PHP einfach auslesen.
Warum so umständlich? Es gibt doch auch in PHP eine Möglichkeit, den Dokumentennamen zu erfahren. Und wenn man seine Links bspw. auch aus einer externen Datei holt, dann kann man bequem vergleichen. Ich nutze diesen Weg bspw. selbst auch. Und zwar lade ich XML-Daten (Texte) per PHP, und die Navigation kommt aus einer extra PHP-Datei. Aus einem Array, um genau zu sein. Das Array enthält den Link (den Dokumentennamen) und den darzustellenden Text zum Anklicken. Das Prinzip ist das gleiche: Ich gucke ob die geladene Datei mit einem der Werte aus dem Array identisch ist. Wenn ja, stelle ich das ganze nur als Text dar; ansonsten als Link.

Hast recht, ich bin davon ausgegangen, dass man eine Frame-Seite hat, wobei die Navi eine extra Seite ist. Dort kann man ja nicht einfach den Dateinamen abfragen, weil er ja immer identisch ist...
:wall:
Ich lasse meine Navigation übrigens auch aus einem Array erstellen ;)

Zitat:

Zitat:

Denkbar wäre evtl. auch eine Möglichkeit mit JS+CSS. Du müsstest versuchen die URL auszulesen und entsprechend alle wegzuschnibbeln, so dass die ID stehen bleibt. Dann kannst du, wenn du z.B. dem Link auch den Namen der ID gegeben hast, z.B. die Farben umändern.
Ich habe es noch nicht probiert, aber ich weiß zumindest das man auch mit JS die URL auslesen kann und damit an die ID kommen kann.
Jede Client-seitige Skriptlösung wie JavaScript hat aber den Nachteil, dass sie nicht funktioniert, wenn der User das abschaltet.
Das stimmt, ich habe auch nur an die Referenz CD gedacht. Aber eigentlich braucht man es gar nicht so kompliziert zu machen, wenn nämlich jede Seite eh statisch ist, dann kann man es auch einfach in der DAtei ändern....
Zitat:

Zitat:

Ich vermute, dass Luckie das für seine Referenz braucht und dafür ist natürlich PHP nicht so geeignet ;)
Du meinst seine CD? Dann ist aber auch SHTML und SSI nicht geeignet, weil du dafür einen Server brauchst.
Jupp. Die meinte ich. Stimmt auch SSI würde nicht gehen...

MathiasSimmack 18. Jan 2005 19:33

Re: [html/CSS] Navigation mit Seite synchronisieren
 
@Luckie: Ich wüsste zwar keinen Rat, warum es nicht geht, denn meine Seite steckt ja auch nicht im Root des Servers, aber hast du mal versucht, den kompletten Pfad anzugeben? Und dann versuch dein Glück mal mit "DOCUMENT_URI". Vllt. hilft das ja sogar. :oops:

Ansonsten, borg mir doch mal deine Original-Newsseite + Navigation. Du weißt ja, ich komme da nicht ran, weil mir der Server ja die zusammengebaute HTML-Seite liefert. Dann lade ich´s mal bei mir hoch und gucke ob das geht. Wenn Ja, dann müssen wir mal schauen worin sich dein und mein Server unterscheiden :)

jfheins 18. Jan 2005 19:58

Re: [html/CSS] Navigation mit Seite synchronisieren
 
Nochetwas:

:arrow: imho schließen sich PHP und SSi nicht gegenseitig aus
:arrow: Hat PHP afaik mehr Möglichkeiten
:arrow: Brauchst du dann eh keine SSI mehr ...

:stupid:

alcaeus 18. Jan 2005 20:04

Re: [html/CSS] Navigation mit Seite synchronisieren
 
Ich frage mich ob Luckie das Ganze auf einem Server macht, oder ob er rein Dateibasiert arbeitet (also die HTMLs direkt aufruft, und nicht ueber http://localhost/index.html). Das koennte auch der Grund sein, warum die SSIs nicht funktionieren.

Greetz
alcaeus

MathiasSimmack 18. Jan 2005 20:07

Re: [html/CSS] Navigation mit Seite synchronisieren
 
Nix für ungut, aber das versteht sich doch wohl von selbst. Ich habe ja auch schon geschrieben, dass man für SSI einen Server braucht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz