Guten Abend,
ich möchte meine Homepage neu gestalten und arbeite mich gerade in HTML ein. Bis dato habe ich Progrmmiererfahrung in Delphi, ein wenig C, aber auch Assembler, bin also nicht der blutige Anfänger.
Nach einigen "Studien" habe ich mich entschlossen, BOOTSTRAP als CSS zu verwenden. Eine INDEX.HTML mit ansprechenden Design geht schnell von der Hand.
Nun kommts: Logischerweise möchte man Strukturen wie ein SIDEBAR-Menu nur einmal schreiben und auch in allen HTML-Seiten verwenden, schon allein, damit man nur eine Datei auf Stand halten muss. In Pascal oder Delphi konnte man da locker Include-Dateien verwenden und das Problem war gelöst. In HTML: Fehlanzeige!
Habe das natürlich gegoogelt; da wurden dann auch Lösungen in JAVASCRIPT angeboten, die den Code per document.write() in die HTML-Datei reinschreiben. Leider waren dann die Bezüge auf die CSS-Datei verloren, d. h. BOOTSTRAP-Formatierungen wurden nicht mehr erkannt.
Wie lösen denn Webdesigner dieses Problem?
Liebe Grüße aus dem Urlaub (zur Zeit an der Nordsee: Wyk auf Föhr--> traumhaft hier)
schuermr
(Software: Netbeans 7)
Homepage selbermachen 7.852 Themen, 35.619 Beiträge
Wie lösen denn Webdesigner dieses Problem?
Mit serverseitigem Scripting. Am weitesten verbreitet und verfügbar ist da PHP.
Alternativ gibt es auch noch Ansätze mit denen Du lokal die HTML-Dateien unter Einsatz von Includes generieren kannst.
Gruß
Borlander
Vielen Dank für die schnelle Antwort!
Wie würde das denn in etwa aussehen für das lokale Generieren von HTML-Seiten?
Gruß
schuermr
Wie würde das denn in etwa aussehen für das lokale Generieren von HTML-Seiten?
Als ich das letzte mal sowas brauchte habe ich mir einfach ein kleines PHP-Script geschrieben und das lokal ausgeführt.
Es gibt allerdings wohl auch Editoren die sowas als rudimentäre Funktion mitbringen (hab es bei irgendeinem mal gelesen aber weiß nicht mehr welcher das war) und verschiedene kleine Tools (von denen ich allerdings noch keins benutzt habe).
Gruß
Borlander
Hallo!
Leider waren dann die Bezüge auf die CSS-Datei verlorenDen Header darfst Du natürlich nicht vom "document.write" schreiben lassen. Den Header im Klartext, den Rest als "document.write".
Man sollte sich aber im Klaren sein, dass nicht jeder JAVA-Script aktiviert hat oder aktivieren darf. Ein Zugang zu Deiner Homepage wäre dann nicht mehr möglich. Du solltest auch an einen barrierefreien Zugang denken, damit auch Nutzer von Textbrowsern Deine Seiten nutzen können.
Gruß, René
Hallo, René,
ich weiß jetzt nicht genau, was Du mit "header" meinst:
in meinem Versuch findet sich:
<head>
...
<link href="css/bootstrap.css" rel="stylesheet">
...
<script type="text/javascript" src="InversesTopmenu.js"></script>
</head>
<body>
<script type="text/javascript">
TopMenu();
</script>
</body>
Natürlich ist TopMenu in der erwähnten js-Datei deklariert und gibt z. B. aus:
document.write("<div class="navbar navbar-inverse navbar-fixed-top">");
document.write("<div class="navbar-inner">");
etc.
die Klassen wie "navbar" sind in der bootstrap.css definiert, führen aber nicht zu den gewünschten Format-Effekten.
Ich hoffe, ich habe mein Problem deutlicher machen können.
Liebe Grüße
schuermr
Hi,
nutze doch SSI auf dem Server/Webspace. Damit kannst du deine menue-Datei überall einpflanzen/ includen. Ohne PHP anzutasten..
--
Guten Tag, Marwoj!
Ich denke, Du meinst etwas in der Art wie
<!--#include virtual="path to file/include-file.html" -->
wie ich nach googeln festgestellt habe.
In meiner Entwicklungsumgebung (Netbeans) hat dieser Code keinen Effekt.
Kann ich das dann nur auf dem Webserver austesten und müsste
praktisch jede Codeänderung neu hochladen?
Oder liege ich jetzt völlig falsch? Vielleicht wäre ein etwas konkreterer Hinweis hilfreich!
Liebe Grüße
schuermr
Hi,
wenn du zukünftig immer nur an der Menue-Datei basteln willst, erwartet dich eine Umschreibung an jeder html-Seite sowieso..;)
Zuerst prüfe ob du SSI online auf dem Server hast. Frage an Provider oder erzwingen per htaccess.
Dann jede html-Seite auf *.shtml ändern. (gibt dem Server Anweisung wie das betrachten sein sollte).
Menü als html belassen und jede shtml-Seite die Menü zeigen sollte mit dem Code:
<!--#include virtual="/relative/Pfad/menue.html"-->
ergänzen..
Hoffe das klappt..:)
--
Hallo.
Ich habe das mit PHP immer so in der Art gemacht:
<html>
<head>
</head>
<body>
<?php include_once "inhalt.php"; ?>
</body>
</html>
Dann hast du nur einmal eine Seite und fügst immer nur den Inhalt ein. (die Datei musst du dann aber in index.php umbenennen, nicht als index.html ) Und du brauchst auf deinem lokalen Rechner einen Webserver mit PHP, um deine Seite zu testen.
Vorteil: man muss nicht jedesmal bei zig Seiten das Layout anpassen, wenn sich mal etwas am Design ändert.
Du könntest auch ein Framework benutzen. z.b. Laravel (PHP Framework)
Oder du versuchst es mal mit Jekyll oder ähnlichen Generatoren für Statische Seiten. Da brauchst du, soweit ich weiß, keinen Webserver, kein PHP und keine Datenbank. Habe diese Programme aber noch nie ausprobiert.
Zunächst mal vielen Dank für die Hinweise, da muss ich jetzt mal eine Menge recherchieren.
Ich melde mich dann mal wieder, wenn ich mehr weiß. Kann ein paar Tage dauern!
Gruß schuermr