Menu über ausgelagerte Datei einbinden

Hallo,
ich suche eine Lösung, wie ein umfangreiche Menu-Leiste über ein ausgelagertes Script in eine HTML-Seite, möglichst W3C gerecht, eingebunden werden kann.
Ziel hierbei, bei nachträglichen Anpassungen, diese nur in diesem Script auszuführen.
Hier meine ersten Veruche:
http://waveswebdesign.de/webmaster/kunden/HTML-Ambac…
Ausgelagertes script.js:
document.write(’ - ‚);
document.write(‘ - ‚);
document.write(‘ - ‚);
document.write(‘ - ‚);
Weitere Zeile:
Ausgelagertes script1.js:
document.write(‘ - ‚);
document.write(‘ - ');

Einbindung in die HTML-Seite:


Ziel der Tabellen ist das einstellen mehrerer Zeilen mit mehreren Buttons.

Ich suche folgende Lösungen:in der Reihe die Button Abstände wesentlich verkleinern
wie kann ich die „weissen Striche“ vermeiden?
die unterschiedliche Höhen-Anordnung bei Verlinkungen zu nicht verlinkten Buttons vermeiden

Vielen Dank für verständliche Tipps

Wave

Vorschlag:

Mach das nicht mit Javascript, das ist nicht barrierefrei. Jemand, der Javascript nicht benutzen kann oder will, kann dann auch die Navigation nicht benutzen.

Mach das Menü mit php als ungeordnete Liste (

  • etc.), keine Tabelle, und binde es mit include ein.

Hallo,

Mach das Menü mit php als ungeordnete Liste (

etc.), keine Tabelle, und binde es mit include ein.

Habe keine Ahnung von php.
Verstehe ich richtig so?

  • Bild-Link

und so weiter …

Kann hiermit auch das Bild eingebunden werden?

und in die HTML-Datei:
… include… ?
Kannst Du mir hierzu eine kurze Anleitung beistellen?

Vielen Dank

Wave

PHP
n’Abend,
ich häng mich mal rein und will mal ein paar Anregungen geben:

Ziel hierbei, bei nachträglichen Anpassungen, diese nur in
diesem Script auszuführen.

Gut, aber mit PHP kann das eine belebige Datei sein, ohne HTML-Tags.
Können aber auch, wie schon gesagt, dann mit include in das PHP-Script einbinden.
In PHP kann man eine Textdatei zeilenweise einlesen mit:
$zeilen = file($dname);
und dann verarbeiten oder einfach nur zeilenweise ausgeben.
Statt JavaScript:document.write heißt es im PHP:
echo „$zeilen[$i]“; wobei $i der Zeilenzähler ist
und alles ohne $ innerhalb der „“ als Text ohne weitere ‚‘ ausgegeben wird.

Ich suche folgende Lösungen:in der Reihe die Button Abstände
wesentlich verkleinern
wie kann ich die „weissen Striche“ vermeiden?
die unterschiedliche Höhen-Anordnung bei Verlinkungen zu nicht
verlinkten Buttons vermeiden

Statt Tabelle würde ich einfach absolute positionieren, auch die x und y-Werte können in der Textdatei stehen, mit einen Zeichen z.B. + von den anderen Werten trennen und die gelesene Zeile nochmal aufsplitten.

Hallo,

Mach das Menü mit php als ungeordnete Liste (

etc.), keine Tabelle, und binde es mit include ein.

Habe keine Ahnung von php.
Verstehe ich richtig so?

  • Bild-Link

und so weiter …

Ja, wenn es nicht dynamisch aus einer Datenbank oder so, kommt, dann kannst du es einfach so wie es sein soll in eine Textdatei schreiben (meinetwegen auch als Tabelle). Die Formatierung sollte aber mit CSS gemacht werden, in der extra stylesheet-Datei. Da ist ja eine eingebunden, wo schon Angaben für ein Menü drin sind.

Die Bilder könntest du mit css auch als Hintergrundbild für den Link bzw. das Listenelement angeben.

Die UL ist nur 1x, sie ist der Container für das ganze Menü, also so:

Die Links waagrecht in einer Zeile geht dann so mit css:

#menu ul, #menu li {list-style-type:none; float:left; margin-left:10px}

Mit include einbinden geht nur, wenn die HTML-Dateien dann mit der Endung php gespeichert werden. Das ist aber kein Problem, weil eigentlich alle Server darauf eingerichtet sind.
Du schreibst dein Menü also so wie es sein soll in eine Datei, menu.txt oder menu.sonstwas und an der Stelle, wo es auf der Website erscheinen soll, schreibst du es hin.

<?php include('Pfad zur menu.txt');?>

Das wird dann ganz normal wie eine html-Datei eingelesen und im Quelltext wird auch nur HTML angezeigt.

Probier es mal aus.

Gruß
küchentiger

Hallo,
nächster Versuch:
http://waveswebdesign.de/webmaster/kunden/HTML-Ambac…
Body:

<?php include("Navigator/menue.html");
?\> Menue HTML: [MenuePunkt 1](%23)[MenuePunkt 2](%23)[MenuePunkt 3](%23) Das Ergebnis: wie man sieht, sieht man nichts :frowning: Wave

Ich schrieb doch, dass die Seite .php als Endung haben muss, nicht .html!
http://waveswebdesign.de/webmaster/kunden/HTML-Ambac… .php
Sonst weiß php doch nicht, dass es die Seite lesen soll.
Die eingebundene Datei kann eine x-beliebige Endung haben. Ich habe es grade mal kurz getestet, auf einem Server wo ich Zugang habe. Es funktioniert, sobald die aufgerufene Seite mit .php endet.

Man kann statt include auch file_get_contents schreiben, da es mit include manchmal Probleme mit den Zugriffsrechten/Pfaden gibt.

Hallo,
nächster Versuch:
http://waveswebdesign.de/webmaster/kunden/HTML-Ambac…

Die ganz schlauen schaffen durch viel Input und selber Denken es zu erraten was passiert befor ich die Webseite im Browser ansehen kann. Der normal sterbliche allerdings muss ich mit der Materie erstmal im Grundlagenbereich auseinander setzen.
Ich seh aus deinen Antworten einfach nur, das du erstmal nicht weisst was ein Server ist und auch nicht wofür der Client ist. Wer für welche Aufgaben zuständig ist und was das nun mit HTML body (was der Webbesucher sieht) und PHP zu tun hat.

Diese Grundlagen müssen erstmal klar sein.

Das ist unumgänglich wenn es eben nicht mehr einfach nur Starre WEbseiten sein sollen , bzw man eben solche gut Strukturierten Webseiten erstellen will.

HTML ist eine Darstellung im Browser . Der Browser holt sich eine Datei vom Server und versucht das Beste aus den gegebenen Informationen darzustellen. Der Client hat eben durch Links die Möglichkeit diese Dateien aufzurufen. Normalerweise nur via protocoll HTTP, wenns es um http-server geht. Aber der Browser (Client) hat auch ein protocoll für Filesysteme, somit kann man auch einfach eine Datei auch dem PC mit dem Browser öffnen. Und solange der Browser damit was anfangen kann , wir es dargestellt, Text ,HTML ,Bilders.
Der Client aber kann kein PHP , die Spache kennt er nicht. PHP kennt aber der Server. Nun ist aber ein Browser kein Server und dein FileSystem auch nicht, du kannst daten auf deiner Festplatte speichern, aber mit den wird nix veranstaltet wenn man sie aufruft.
Deswegen gibt es ein Programm das nennt sich http-server , oder Apache oder oder oder.
Dieser Server ist der Informations auslieferer .

Frag ich also beim Server die Datei index.html ab, wird diese vom Server programm gelesen, und dann zum Client geschickt.

Will ich nun die Datei index.php haben, so liesst der Server auch diese Datei, nun aber sieht der server anhand der dateiendung php das er diese noch weiterverarbeiten muss .
Was nun diese index.php nach der Verarbeitung durch den Server an meinen Client zurückgibt, bestimmt nun der PHP code in der Datei.

Das schöne, PHP und HTML kann man in derselben Seite unterbringen. Andere Scriptsprachen sind da nicht so freundlich.

Das wars.

Danach wartet der Server wieder auf eine neue Dateianfrage.

So ein Server Programm kann man auch local auf dem Heimrechner installieren. Die funktion Server braucht keine spezielle Hardware , nur eben eine Software.

Installiere Dir also einen Server XAMP und probier zu Hause dein können.

Anonsten wenn du doch lieber extern auf einem Online Server arbeiten willst, musst du darauf achten das der Server auch PHP kann, es gibt immernoch einige Provider die bieten einfach nur HTML mit Baukasten, der Server kennt dann auch kein PHP.

Hallo Zusammen,
vielen Dank für die Tipps und Anregungen.
Habe den Vorschlag PHP-Lösung gewählt:
http://waveswebdesign.de/webmaster/kunden/HTML-Ambac…
Damit komme ich weiter.

Gruß Wave
http://waveswebdesign.de

Ich schrieb doch, dass die Seite .php als Endung haben
muss, nicht .html!

Verstanden :smile:):
http://waveswebdesign.de/webmaster/kunden/HTML-Ambac…

Wave