Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; breadcrumb has a deprecated constructor in /kunden/dciwam.de/webseiten/dciwam/includes/class.breadcrumb.inc.php on line 23
Dynamisch Inhalte in HTML-Dokumente einfügen
Wie kann ich ein div
-Element, in meinem Fall eine Navigationsleiste,
die auf mehreren Seiten vorkommt, als Datei auslagern?
Hier werden zwei von vielen anderen Möglichkeiten, die in Betracht kommen und machbar sind, kurz erklärt:
Möglichkeit 1
Mit SSI (Server Side Includes):
<!--#include virtual="[Pfad/Dateiname]"-->
Mit dem Kommando include
kann eine HTML-Datei als div
-Element
in die aktuelle Datei eingeschlossen werden. In diesem Fall und je nach Serverkonfiguration
muß die Dateierweiterung in .SHTML
geändert werden.
Möglichkeit 2
Mit PHP das div
-Element einlesen und plazieren:
<?PHP include("[Pfad/Dateiname]"); ?>
Pfad und Dateiname sind frei definierbar.
In diesem Fall und je nach Serverkonfiguration muß der Dateiname in .php
geändert
werden.
Eine andere Möglichkeit besteht darin, daß man Lokal ein Webserver (z.B. Apache) mit PHP oder SSI installiert. Nachdem die erforderlichen Teile wie Kopf- oder Fußzeile sowie Navigation eingebunden sind und alle installierten Browser ein zufriedenstellendes Ergebnis zeigen, können die Dateien aus einem Browser oder mit einem Tool (z.B. wget) als statische Seiten abgespeichert und per FTP oder Telnet (SSH) hochgeladen werden.
Der große Vorteil eine solche Methode ist, daß zuerst einmal selbst mit 'Grundpaket-Accounts' (Starter-Webspace) keine Probleme gibt und außerdem der Webserver vom ständigen parsen der Dokumente deutlich entlasten wird.
Zusätzlich können auch Proxies und Caches mit diesen Dateien besser arbeiten, da sie ein eindeutiges Datum besitzen.
Beachte:
- Um zu verhindern, daß die
div
-Element immer wieder neu geladen werden, sollte die Cachefähigkeit des Webservers bzw. der Webseite erhöht werden. Sonst sind die Seiten nur scheinbar dynamisch, auch wenn die Komponenten sich nicht ändern.
Hierzu bietet "Caching Tutorial for Web Authors and Webmasters" unter
http://www.mnot.net/cacheability/ oder
http://www.mnot.net/cache_docs/
insbesondere mit http://www.mnot.net/cache_docs/#IMP-SCRIPT eine ausführliche und gute Anleitung in Englisch an. - Selbstverständlich können mit den o.g. PHP und SSI-Lösungen ebenso andere,
für die Webseite wichtige Elemente (Bild- und Textdatei, Datenbank etc.) ausgegliedert
werden. Diese Methode gilt nicht speziell für
div
-Elemente, sondern ist für jeden beliebigen Bestandteil eines HTML-Dokumentes gültig. - Die 'include'-Methode sollte nur bei größeren Webprojekte sowie immer wiederkehrende Elemente angewendet werden. Es ist nicht unbedingt erforderlich den Webserver unnötig mit SSI und PHP zu belasten, wenn man die Seiten auch lokal generieren kann.
Ich möchte auf Frames verzichten aber eine einheitliche Navigation auf allen Seiten haben. Eine Änderung soll auf allen Seiten wirksam werden.
<!-- ps_include file="Contents" --> <!-- /ps_include file="Contents" -->
Im Quelltext steht dann der Inhalt der Datei "Contents". Eine Änderung in der Datei "Contents" wirkt sich automatisch auf alle Dateien aus. Includefähige Editoren siehe Linkliste.
Weiterführende Links
- Windows: Phase5
http://www.meybohm.de - Macintosh: PageSpinner
http://www.optima-system.com/pagespinner
Peter Bieling • http://www.media-palette.de/