menu
General
- design/layout
hi all,
also ich habe einmal eine frage. ich bin der webmaster von http://www.masterthief.de. wenn man die seite besucht sieht man schnell das menu auf der linken seite. momentan ist das menu noch auf all den html-unterseiten einzeln vorhanden, d.h, wenn ich das menu abändern will, muss ich ca. 50 unterseiten abändern!! gibt es nicht irgend einen befehl, wo man dort in diese tabelle des menus ein menu als eigene html-datei einblenden lassen kann???
Vielen Dank für eure Hilfe!
MfG General
Ja,
mit PHP is das ganz einfach.
mfg
dennis
hi, also thx für eure shcnellen antworten. ich meine nicht per frames..sondern einfach eine andere html datei quasi dort wo momentan das menu ist einbinden. so dass ich nur noch die html datei verändern muss, wenn ich was am menu rumbasteln will...wie ihr seht, ist meine site in html, php würde also nicht funtzen oder? gibt es nicht einen weg per html mit java oder sowas?
ja fralle geht PHP, is total easy, musst nur eine datei (zb. txt) erstellen und darin das menü einfügen, und durch einen php befehl wird der inhalt der datei in die seite eingefügt.
hm, also dein vorschlag mit php tönt gut..dass andere eher ein wenig kompliziert ;)
wie würde denn der befehl lauten?? oder wisst ihr, wo ich das nachlesen kann??
ja also:
das kommt an die stelle wo die navi normal is:
(also in die index.html > die du in index.php umbenennen musst)
<?php
switch ($lang)
{
case 'de' :
include("navi.txt");
}
?>
und in die navi.txt kommt die navi
<?php
switch ($lang)
{
case 'de' :
include("navi.txt");
}
?>
In dem Fall müsste ja $lang immer vorhanden sein... fast zu kompliziert, findest du nicht, dennis?
__________________________________________________
Ich würde es so machen:
1.) Du erstellst zuerst eine Textdatei mit dem Code des Menü's als Inhalt und speicherst es z.b. als "menu.txt"
2.) Du musst der HTML-File die Endung *.php geben, damit der Server die PHP-Befehle aufgreift.
3.) Du löscht den Menü-Code aus der/den PHP-Datei/en raus (er steht ja jetzt in der Textdatei)
4.) Anstelle des Menücodes setzt du folgendes ein:
<?php
include ("menu.txt");
?>
Durch diesen include-Befehl wird die Datei Serverseitig inkludiert und wenn du dann z.B. den Quelltext ansiehst, den der Browser ausgibt, wirst du merken, dass statt des iclude-befehls nun der Code des Menü's dasteht.
Du musst dir allerdings dessen bewusst sein, dass du PHP-Dateien lokal nur noch ansehen kannst, wenn du einen Webserver installiert hast!
lG, Consti
PS: Kennst du jemanden namens (nick) 'Kasimir' der dort auch aktiv ist?
<?php
switch ($lang)
{
case 'de' :
include("navi.txt");
}
?>
Jaja, man kann's auch fürchterlich kompliziert machen.. Mach es doch bitte gleich vernünftig:
1. Menü aus der index.html rausnehmen und in eine Datei menu.html kopieren. Datei menu.html (erstmal) in's Hauptverzeichnis packen.
2. In der index.html an der Stelle, wo das Menü eingebunden werden soll
<!--# include virtual="/menu" -->
einsetzen (ja, ohne .html am Ende und mit / vornedran).
3. Datei .htaccess im Hauptverzeichnis einrichten mit dem Inhalt
Options +Multiviews +Includes
4. index.html in index.shtml umbenennen.
Das sollte funktionieren, auch wenn Du kein PHP hast. Die Option Server Side Includes (kurz: SSI) ist im Gegensatz zu PHP auf den meisten Servern aktiviert.
Der Witz an der Sache:
Du kannst Deine Dateien jetzt auch ohne Endungen aufrufen, also zum Beispiel statt "blabla.de/index.html" "blabla.de/index". Du kannst in all Deinen <a>s und <img>s die Endungen rausnehmen (etwa <a href="neues"> statt <a href="neues.html">).
Sowas ist dann von Vorteil, wenn Du mal die Dateiendungen ändern möchtest, zum Beispiel weil Du von einfachen HTML-Dateien (.html) auf SSI-erweiterte HTML-Dateien umsteigst (.shtml).. Oder falls Du irgendwann Deine Seiten um PHP erweitern möchtest (.php am Ende). Oder Deine Grafiken von GIF auf PNG umstellst. Oder, oder, oder..
In all diesen Fällen -und es kommt bei den Massen an Seiten öfters vor, als Dir lieb ist, glaub mir- brauchst Du Dich nicht mehr um die Adressen zu kümmern, die Du überall verstreut hast: sei es in den HTML-Seiten selber (die man noch mit viel Fleiß alle von Hand ändern könnte), in Suchmaschinen (die wenigstens von alleine alle paar Wochen vorbeikommen) oder den Lesezeichen der Benutzer (auf die Du keinen Zugriff hast und Du dementsprechend lauter böse Briefe bekommst, nur weil die Dateiendung sich geändert hat..).
Witz Nummer zwei:
In dem PHP-Code vcn denni oben soll wohl eine Sprache ausgewählt werden. Das ist da IMHO reichlich fehl am Platze, weil diese Spracheinstellung schon in _jedem_ Browser vorhanden ist und auch hier der Webserver automatisch, ohne Dein Zutun, die richtige Datei wählen kann.
Falls Du also zum Beispiel ein englisches und ein deutsches Menü anbieten willst (und Deutsch als Standard), erstellst Du einfach zwei Dateien:
menu.html Deutscher Inhalt, Standard
menu.html.en Englischer Inhalt
Beim Aufruf der Datei "menu" wird der Server dann, entsprechend der Angaben des Nutzers, entweder die englische Version oder die deutsche Standardversion liefern.
Sieht vielleicht auf den ersten Blick etwas aufwendig aus, ist es aber nicht. Für die Menüeinbindung sind es nur die vier Schritte oben und beim Rest: lediglich nach und nach in <a> und <img> die Endungen rausnehmen, muß ja nicht alles auf einmal sein.
Mehr Infos in der Apache-Anleitung:
Zu SSI:
http://httpd.apache.org/docs/howto/ssi.html
http://httpd.apache.org/docs/mod/mod_include.html
Zum "Weglassen-der-Dateiendungen":
http://httpd.apache.org/docs/mod/mod_negotiation.html
Gruß,
soenk.e
hi
also ich habe einmal eine frage. ich bin der webmaster von http://www.masterthief.de. wenn man die seite besucht sieht man schnell das menu auf der linken seite. momentan ist das menu noch auf all den html-unterseiten einzeln vorhanden, d.h, wenn ich das menu abändern will, muss ich ca. 50 unterseiten abändern!! gibt es nicht irgend einen befehl, wo man dort in diese tabelle des menus ein menu als eigene html-datei einblenden lassen kann???
Du meinst Frames..? Haben aber mehr als genug Nachteile! Besser wäre, die Navigation einfach dynamisch über PHP oder SSI o.ä. einzubinden.
Grüße aus Lübeck
Kai
hi
also ich habe einmal eine frage. ich bin der webmaster von http://www.masterthief.de. wenn man die seite besucht sieht man schnell das menu auf der linken seite. momentan ist das menu noch auf all den html-unterseiten einzeln vorhanden, d.h, wenn ich das menu abändern will, muss ich ca. 50 unterseiten abändern!! gibt es nicht irgend einen befehl, wo man dort in diese tabelle des menus ein menu als eigene html-datei einblenden lassen kann???
Du meinst Frames..? Haben aber mehr als genug Nachteile! Besser wäre, die Navigation einfach dynamisch über PHP oder SSI o.ä. einzubinden.
Allerdings braucht General dann auch einen Provider, der PHP oder SSI oder etwas ähnliches unterstützt. Was hältst du von der Alternative, das Menu mit Javascript zu erstellen und die Menupunkte in eine js-Datei auszulagern?
»hi
Allerdings braucht General dann auch einen Provider, der PHP oder SSI oder etwas ähnliches unterstützt. Was hältst du von der Alternative, das Menu mit Javascript zu erstellen und die Menupunkte in eine js-Datei auszulagern?
Dann noch eher Frames!
Grüße aus Lübeck
Kai