Navigation trennen, damit nur einmal vorhanden
Caruso
- html
Hallo,
ich fange gerade an, zu lernen, wie ich eine HTML-Website erstellen kann. Damit ich nun von Anfang an richtig lerne, wollte ich Euch mal fragen, wie man es eigentlich ab besten macht, damit man z.B. die Navigation oder den Footer nicht auf jeder einzelnen Seite hat, sondern nur einmal als eigene Datei. Ich denke jetzt an zukünftige Änderungen wie die Erweiterung der Navigation oder die Aktualisierung der Copyright Jahreszahl von 2008 auf 2009. Es ist sicher nicht sehr professionell, wenn man solche Dinge dann evenetuell auf 95 Seiten ändern muss. Ich habe nun darüber gelesen, dass es SSI Server Side Includes gibt. Wäre das die beste Lösung? Wie gesagt, bin absoluter Neuling und würde gerne wissen, zu welcher Methode Ihr mir raten würdet, um solche Dinge dann später nur 1 Mal bearbeiten zu müssen.
Wie macht man es richtig und sinnvoll, eine Navigation einzubauen?
Danke schon mal allen, die sich die Zeit nehmen, mir zu helfen!
Viele Grüße
Caruso
Wie macht man es richtig und sinnvoll, eine Navigation einzubauen?
Richtig und sinnvoll ist relativ und hängt von Deinen Vorhaben ab. Falls Dein Server SSI unterstützt, dann kannst Du mit
<!--# include virtual="menu.shtml" -->
z.B. auf jeder Seite Dein Menü einbinden. SSI kann auch noch ein paar Sachen mehr, aber ist recht begrenzt.
Falls Du in Zukunft öfter größere Projekte in Angriff nehmen möchtest, solltest Du Dir überlegen Dir eine Sprache wie beispielsweise PHP anzueignen, weil damit noch weitaus mehr (respektive "fast" alles) möglich ist.
Gruß, Samoht
@@Samoht:
SSI kann auch noch ein paar Sachen mehr, aber ist recht begrenzt.
Das stimmt, zwar. Dennoch lässt sich mit SSI weitaus mehr machen als es auf den ersten Blick den Anschein erweckt.
@Caruso:
Du hattest vergessen, in den FAQ (oben auf der Forum-Startseite verlinkt) nachzusehen. Dort gibt’s auch etwas zum Thema Quelltext auslagern.
Live long and prosper,
Gunnar
SSI kann auch noch ein paar Sachen mehr, aber ist recht begrenzt.
Das stimmt, zwar. Dennoch lässt sich mit SSI weitaus mehr machen als es auf den ersten Blick den Anschein erweckt.
Meine Intention war ein Denkanstoß, ob SSI das richtige ist... Ich realisiere selber kleine preisgünstige Webprojekte mit SSI, da man nicht auf Scriptsprachen vom Hoster angewiesen und SSI meist aktiviert ist.
Dennoch fühle ich mich wohler, wenn ich PHP zur Verfügung habe :)
Gruß, Samoht
Hallo Samoht, hallo Gunnar,
erst mal sorry, dass ich die FAQ übersehen habe, aber das ist schon mal wieder das Problem der Anfänger: man weiß gar nicht so recht unter welchem Begriff man eigentlich suchen soll, gar nicht zu reden von Fachbegriffen. Auf die Formulierung "Quelltext auslagern" wäre ich jetzt so gar nicht gekommen. :-(
Danke für den Hinweis auf SSI! Da habe ich doch einen Startpunkt, wo ich anfangen kann zu lesen.
Eine grundsätzliche Verständnisfrage habe ich noch, da ich mir das - im Moment jedenfalls - praktisch noch nicht so richtig vorstellen kann.
Ich mache also die Navi, den Header, den Footer und die eigentliche Datei mit dem Context. Das muss ja dann alles exakt zusammenpassen! Ich stelle es mir sehr schwierig vor, dass z.B. die Navigation dann auch wirklich exakt an der Stelle erscheint, an der sie sein soll und nicht z.B. 4 Millimeter tiefer. Ich habe ja, wenn ich die Navi oder den Header getrennt in einer Datei habe, nicht die Möglichkeit, es im Ganzen zu sehen. Wie lege ich fest, wie und wo die einzelnen Teile aneinander gesetzt werden?
Oder ist es so: ich mache die Seite erst als Ganzes und trenne dann Navi, Header etc. aus dem Quelltext heraus und kopiere es in eine eigene Datei?
Danke für Eure Hilfe!
Grüße
Caruso
Hi,
Ich mache also die Navi, den Header, den Footer und die eigentliche Datei mit dem Context. Das muss ja dann alles exakt zusammenpassen! Ich stelle es mir sehr schwierig vor, dass z.B. die Navigation dann auch wirklich exakt an der Stelle erscheint, an der sie sein soll und nicht z.B. 4 Millimeter tiefer.
Wenn dich das stoeren wuerde, solltest du kein Web-, sondern Printdesign machen.
Verabschiede dich bitte gleich von dem abwegigen Gedanken, absolut alles unter Kontrolle haben zu koennen, was die Anzeige angeht. Du kannst lediglich *Empfehlungen* zur Darstellung mitgeben - dazu dient CSS.
Ich habe ja, wenn ich die Navi oder den Header getrennt in einer Datei habe, nicht die Möglichkeit, es im Ganzen zu sehen. Wie lege ich fest, wie und wo die einzelnen Teile aneinander gesetzt werden?
Sie "erscheinen" dort, wo du im "uebergeordneten" Dokument die Befehle/Sprachkonstrukte zu ihrer Einbindung notierst.
Oder ist es so: ich mache die Seite erst als Ganzes und trenne dann Navi, Header etc. aus dem Quelltext heraus und kopiere es in eine eigene Datei?
Das bietet sich fuer den Entwurf des Gesamtlayouts sicher erst mal an.
Was man dann nachher wo "ausschneidet" und auslagert, kann man anschliessend schauen.
MfG ChrisB
Hallo ChrisB,
danke für Deine Hilfe.
Verabschiede dich bitte gleich von dem abwegigen Gedanken, absolut alles unter Kontrolle haben zu koennen, was die Anzeige angeht. Du kannst lediglich *Empfehlungen* zur Darstellung mitgeben - dazu dient CSS.
Dieser Hinweis war sehr beruhigend und entspannend!
Ich vergesse immer wieder, dass jeder Besucher einen anderen Monitor, eine andere Auflösung, Browser, etc..etc.. hat.
Ich habe gelesen, dass die Dateiendungen dann nicht mehr html, sondern shtml heißen müssen, damit der Server weiß, dass er hier zusammenfügen muss. Wenn ich die Beispiele hier richtig verstanden habe, gilt das aber nur für die Hauptseite, also für die, in die dann Navi, Header und Footer inkludiert werden sollen. Die include-Dateien können eine html-Endung haben, z.B. inc_footer.html heißen. Ist das so richtig?
Dank Eurer Hilfe, habe ich nun schon einiges mehr verstanden!
Vielen Dank und schöne Grüße
Caruso
Ich habe gelesen, dass die Dateiendungen dann nicht mehr html, sondern shtml heißen müssen, damit der Server weiß, dass er hier zusammenfügen muss. Wenn ich die Beispiele hier richtig verstanden habe, gilt das aber nur für die Hauptseite, also für die, in die dann Navi, Header und Footer inkludiert werden sollen. Die include-Dateien können eine html-Endung haben, z.B. inc_footer.html heißen. Ist das so richtig?
Jein.
Alle Dateien die geparsed werden sollen (also in denen der Server nachgucken soll, ob "Fremdcode" außer HTML vorhanden ist), müssten die Endung .shtml tragen. Abgesehen davon kann man den Server so konfigurieren, dass z.B. auch .html oder .htm geparsed wird.
Da SSI noch ein paar Funktionen mehr drauf hat, als nur Seiten zu includen, kann es sein, dass Du diese auch mal z.B. in Deiner inc_footer.html benutzen möchtest. Das geht nur, wenn Du .shtml verwendest - oder wie o.g. den Server anders konfigierst.
Gruß, Samoht
Hallo Samoht,
super, danke für die Erklärung!
Gibt es eigentlich keine Bücher zu SSI? Habe auch bei Amazon nur eines auf englisch gefunden. Hier gibt es zwar etwas Info dazu, aber ich wundere mich, dass ich kein Buch darüber finde. Oder sind das nur Kapitel in HTML-Büchern? Falls Du - oder jemand anderes - da einen Tipp hast, freue ich mich.
Viele Grüße
caruso
Ufz...
also ich hab mich noch nie nach speziellen Büchern zu SSI umgesehen. Vermutlich wird dieses Thema in vielen Büchern in Unterkapiteln angesprochen.
Hier http://de.selfhtml.org/servercgi/server/ssi.htm@[SelfHTML] findest Du eine Einführung. Ansonsten Sollte Dir <http://www.google.de/search?hl=de&q=SSI+tutorial@[Dr. Google q = SSI + tutorial>] sicher weiterhelfen.
Gruß, Samoht
Hier [SelfHTML] findest Du eine Einführung. Ansonsten Sollte Dir [Dr. Google q = SSI + tutorial] sicher weiterhelfen.
Gruß, Samoht
@@Caruso:
Gibt es eigentlich keine Bücher zu SSI?
B. & P. Laurie: Apache – Das umfassende Handbuch (O’Reilly), Kap. 14, S. 321ff.
Live long and prosper,
Gunnar
Danke an Gunnar und Samoht für die Lese-Tipps!
Und überhaupt nochmals vielen Dank allen für die nette Hilfe!
Viele Grüße
Caruso
Hi,
Ich mache also die Navi, den Header, den Footer und die eigentliche Datei mit dem Context. Das muss ja dann alles exakt zusammenpassen! Ich stelle es mir sehr schwierig vor, dass z.B. die Navigation dann auch wirklich exakt an der Stelle erscheint, an der sie sein soll und nicht z.B. 4 Millimeter tiefer. Ich habe ja, wenn ich die Navi oder den Header getrennt in einer Datei habe, nicht die Möglichkeit, es im Ganzen zu sehen. Wie lege ich fest, wie und wo die einzelnen Teile aneinander gesetzt werden?
Im CSS natürlich.
Abgesehen davon hast Du durchaus die Möglichkeit, das Ergebnis zu kontrollieren. Du brauchst lediglich einen Webserver, der die Seite zusammensetzt. Dazu kannst Du Dior z.B. auch unter Windows XAMPP installieren (aber Achtung: die Seiten auf Deiner Festplatte können dann auch von außen verfügbar sein!).
freundliche Grüße
Ingo
Hallo Ingo,
danke für den guten Tipp mit dem Webserver! Das ist wirklich hilfreich, wenn man nicht immer alles online hochladen muss, nur um das Ergebnis kurz zu kontrollieren.
Habe gerade gesehen, dass mein Windows Professional auch einen Webserver hat, den IIS. Vielleicht ist der auch für server-side-includes geeignet. Werde mich da gleich erst mal näher befassen.
Viele Grüße
Caruso
Mahlzeit,
Habe gerade gesehen, dass mein Windows Professional auch einen Webserver hat, den IIS.
Das willst Du aber nicht wirklich. Installiere Dir lieber - wie Ingo Turski schrieb - den XAMPP für Windows zum lokalen Entwickeln und Testen ... aber mache ihn in Deinem eigenen Interesse nach außen hin dicht.
MfG,
EKKi
Hallo Ekki,
Das willst Du aber nicht wirklich.
Ich habe ja nichts gegen den empfohlenen XAMPP, hatte nur gesehen, dass es den IIS schon gibt. Was ist denn an dem so schlimm? Ich bin ja, wie gesagt, blutiger Anfänger und weiß nur, dass viele Webs bei Providern auf einem Windowsserver mit dem IIS laufen. Speziell, wenn sie eine kleine Access-DB angebunden haben. Klar, nehme ich lieber den XAMPP, wenn der besser ist.
Viele Grüße
Caruso
Mahlzeit,
Ich habe ja nichts gegen den empfohlenen XAMPP, hatte nur gesehen, dass es den IIS schon gibt. Was ist denn an dem so schlimm?
Z.B. Sicherheitslöcher groß wie Scheunentore, idiotische Speicherverwaltung, unflexible Konfiguration usw. - Google ist Dein Freund bei der Suche nach Gründen, warum man den IIS gerade NICHT benutzen sollte ...
Ich bin ja, wie gesagt, blutiger Anfänger und weiß nur, dass viele Webs bei Providern auf einem Windowsserver mit dem IIS laufen.
... genausowenig übrigens wie einen Windows-"Server". Das verbreitetste Grafikadventure der Welt ist im Gegensatz zu gegenteiligen Behauptungen aus Redmond wirklich alles - aber kein Serverbetriebssystem. Das fängt bei Systemarchitektur und -sicherheit an und hört bei Ressourcenverschwendung und überteuerter Software noch lange nicht auf.
Speziell, wenn sie eine kleine Access-DB angebunden haben.
Access ist keine Datenbank.
Klar, nehme ich lieber den XAMPP, wenn der besser ist.
Alles ist besser als Frickelware von MICROS~1.
MfG,
EKKi
Hallo Ekki,
danke für die Infos! Ja, da muss ich wohl noch viel lernen.
Alles ist besser als Frickelware von MICROS~1.
Okay :-))
Danke für Deine Hilfe!
Viele Grüße
Caruso
... genausowenig übrigens wie einen Windows-"Server". Das verbreitetste Grafikadventure der Welt ist im Gegensatz zu gegenteiligen Behauptungen aus Redmond wirklich alles - aber kein Serverbetriebssystem. Das fängt bei Systemarchitektur und -sicherheit an und hört bei Ressourcenverschwendung und überteuerter Software noch lange nicht auf.
naja, ein windows server ist kein grafik adventure mehr - aber verschwenderisch kommt schon hin
besonderns in kombinantion mit iis und mssql kann man mit glück nur 10 bis 15 durchschnittliche webseiten auf einem halbwegs brauchbaren server unterbringen - mit lamp geht locker das 2 bis 3-fache mit der selben hardware
bez der sicherheit konnte ich noch keine groben probleme feststellen - die gibts in den meisten linux distros auch wie sand am meer ;) wenn man sich die zone-h defacement-listen ansieht, sollte man aber feststellen, dass es bei massenangriffen hauptsächlich linux-server erwischt
am (web)servermarkt, interessiert man sich eher weniger für windows rechner - linux mit mit unsicheren php scripten sind wesentlich einfacher zu knacken