• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Navigation als Extradatei (INCLUDE?)

Status
Für weitere Antworten geschlossen.

n3012

Neues Mitglied
Hallo... ich möchte ein webseite bauen, ganz normal mit HTML.
aber die navigation wird sich höstwarscheinlich des öfteren ändern, und da die seite sehr umfangreich ist möchte eine extra HTML datei für das Menü machen. die dann auf allen seiten eingebunden ist.

so das ich diese nur in der datei ändern muss und nicht auf allen seiten. ich hab da mal was von include funktionen oder sowas gehört. hab aber von PHP weiter keine ahnung...


könnt ihr mir weiter helfen?
ich hoffe meine frage war verständlich: mehrere seite - eine navigation
 
Ich würde es so machen:

Das Menü: (navigation.php)
PHP:
<?php
echo "<a href="">Menüpunkt</a>";
echo "<hr>";
?>
Die Seite: (*.phtml)

HTML:
<html>
<body>
<?php
include "navigation.php";
?>
Text
</body>
</html>
 
Wozu bitte die echos? Und was ist phtml?

navi.html
Code:
<ul id="navi">
  <li><a ...>Seite</a></li>
  ...
</ul>
Seite (*.php):
PHP:
...
<?php include "navi.html"; ?>
...
 
wie das war schon? nur: <?php include "navi.html"; ?> ????

und die div positioniere ich dann in der NAVI.HTML z.B??
ich werd das gleich mal ausprobieren... geil vielen dank.


man brauch ja garnicht sone angst vor PHP haben


edit//////
also er macht jetzt oben und unten nen freiraum in der navi.
muss den in die navi.html jetzt nochndoctype und header und sowas rein?
 
Zuletzt bearbeitet:
also er macht jetzt oben und unten nen freiraum in der navi.
muss den in die navi.html jetzt nochndoctype und header und sowas rein?
Nö, der Text in navi.html wird genau wie er da steht in die andere Datei eingebunden und is dann eben drin (du kannst dir quasi anstelle des <?php ... ?> vorstellen, dass der Code aus navi.html da steht).

Gegen Abstände versuchs mit margin:0; ansonsten zeig mal was du bisher hast.

Und keine Angst vor PHP, ist gar nicht so schwer ;)
 
hi... vielen dank nochmal.. hat alles geklappt... waren dann doch die margin funktionen....


jetzt brauch ich noch eins, ich will der der user immer sieht auf welcher seite er gerade ist. das heisst ich hab ja die links formatiert mit hover, visited, active und link

ich müsste ja jetzt bei ACTIVE ne spzeille formatierung machen, und wenn ich auf den geklickt habe müsste der ja die einstellung berhalten... klappt aber nicht.


also ich will das der link orange unterstrichen ist wenn ich auf der seite bin. wisst ihr was ich meine?
 
Hallo,

ich müsste ja jetzt bei ACTIVE ne spzeille formatierung machen, und wenn ich auf den geklickt habe müsste der ja die einstellung berhalten... klappt aber nicht.

Mit der Pseudoklasse :active bezeichnet CSS den Augenblick, wenn der Nutzer auf einen Link klickt, bis zu dem Zeitpunkt, wo dann die neue Seite geladen wird. Mit der Seite, auf der man sich befindet, hat das nichts zu tun. Solche Sachen kennt CSS nicht.

Wozu bitte die echos? Und was ist phtml?
Die echos sind in der Tat überflüssig. Und .phtml ist ganz offensichtlich eine Dateiendung, die von dem Server des Posters durch den PHP-Parser geschickt wird. Da kann man in den Servereinstellungen definieren, was man will. Wenn Du da einstellst "parse Dateien mit der Endung .bcf mit PHP", dann dürfen Deine Dateien auch auf .bcf enden, damit sie den PHP-Parser durchlaufen.

Gruß,
-Efchen
 
Entweder mit CSS, wie es koslowski hier mal irgendwo schön beschrieben hat, also jeder Seite eine eigene ID verpassen und jedem Link im Menü eine eigene ID verpassen und dann sowas in der Art wie
Code:
body#sStart ul#MainMenu li#mStartseite { font-weight:bold; }
Das würde dem Menüpunkt (Listenelement) mit der ID "mStartseite", das innerhalb einer ul mit der ID "MainMenu" liegt, das sich wiederum auf einer Seite befindet, deren body die ID "sStart" hat, in Fettschrift darstellen.

Oder aber per PHP, da kann man ja mit Hilfe einer Umgebungsvariablen prüfen, wie die aktuelle Seite heißt und dann bei der Ausgabe des Menüpunkts auf diese Seite den anders darstellen. Man könnte dem Listenelement dann eine eigene ID, z.B. "current" geben, so dass man das dann per CSS anders darstellt, und man könnte gleichzeitig auch den Link entfernen, denn es gibt Leute, die der Meinung sind, dass man auch keinen Link auf die aktuelle Seite haben dürfe. Da wirds dann mit der reinen CSS-Lösung schon etwas komplizierter.

Gruß,
-Efchen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben