Einfügen des Inhalts einer Datei auf dem Server
Der SSI-Befehl Include weist den Webserver an, den Inhalt einer angegebenen Datei auf dem Server in das aktuelle Dokument an der Position des Befehls im Quellcode des Dokuments einzufügen, bevor diese zu einem Webbrowser gesendet wird. Die einzufügende Datei muss HTML- oder einfachen Text enthalten. Der Befehl ist zum Einfügen von Bildern oder anderer Binärdateien nicht geeignet.
Es gibt zwei Hauptsituationen, in denen der Einsatz eines Include-Befehls nützlich sein kann. Es wird empfohlen, einen Include-Befehl in den beiden folgenden Situationen zu verwenden:
- Sie verfügen über einen Inhaltsabschnitt, den Sie in mehreren Dokumenten identisch wiederholen möchten. Anstatt den gemeinsamen Inhalt zu kopieren und in jedes Dokument einzufügen, können Sie den gemeinsamen Inhalt in einem getrennten Dokument speichern und einen Include-Befehl einsetzen, damit der Webserver den Inhalt dynamisch in alle betreffenden Dokumente einfügt. Diese Vorgehensweise belegt nicht nur weniger Festplattenspeicher, sondern vereinfacht auch, falls erforderlich, die Änderung des gemeinsamen Inhalts. Ein Beispiel für diese Situation ist eine Fußzeile, die auf allen Seiten einer Site identisch wiederholt werden soll.
- Sie verfügen über ein Dokument, dessen Inhalt zumeist statisch ist, das jedoch ein kleines Inhaltsfragment enthält, das häufig geändert werden muss. In diesem Fall können Sie, anstatt das gesamte Dokument jedes Mal zu bearbeiten, wenn ein kleiner Teil geändert werden muss, den sich häufig ändernden Inhalt in einer getrennten Datei speichern, sodass nur diese Datei bearbeitet werden muss. Ein Beispiel hierfür ist eine “Mitteilung des Tages”, die sich in einem ansonsten unverändert bleibenden oder sich selten ändernden Dokument täglich ändert. (Falls jedoch der sich häufig ändernde Inhalt den Großteil des Dokuments ausmacht oder Ihre Anforderungen komplexer sind, sollten Sie ein datenbankgestütztes Dokument erstellen, anstatt mit Include-Befehlen zu arbeiten.)
So fügen Sie einen Include-Befehl ein
- Platzieren Sie die Einfügemarke an der Position im aktuellen Dokument, an der die Datei vom Webserver eingefügt werden soll.
- Klicken Sie auf der benutzerdefinierten Symbolleiste auf SSI, und klicken Sie auf Include. (Wenn die Schaltfläche SSI nicht angezeigt wird, fügen Sie diese zur Symbolleiste hinzu. Öffnen Sie hierzu das Dialogfenster Konfigurieren, und wechseln Sie zur Registerkarte Befehle. Wählen Sie anschließend in der Kategorieliste die Einstellung Einfügen, und klicken Sie in der Befehlsliste auf die Option SSI.)
- Wählen Sie für Typ die gewünschte Option:
- Wenn sich die einzufügende Datei im selben Ordner wie das Dokument oder in einem Unterordner des Ordners des Dokuments befindet, wählen Sie Datei.
- Wenn sich die einzufügende Datei außerhalb des Ordners des Dokuments befindet, wählen Sie Virtuell.
- Geben Sie im Feld URL den Pfad der einzufügenden Datei ein. (Siehe die Hinweise zu zulässigen Pfadtypen weiter unten.)
- Klicken Sie auf OK.
Wenn die angegebene Datei im lokalen Dateisystem im angegebenen Pfad vorhanden ist, zeigt Namo WebEditor ihren Inhalt im Dokumentfenster an der Position an, an der Sie den Include-Befehl eingefügt haben. Andernfalls wird ein Dialogfeld mit dem Hinweis angezeigt, dass die angegebene Datei nicht gefunden wurde. Dies ist kein Grund zur Beunruhigung. Solange die Datei im angegebenen Pfad auf dem Webserver vorhanden ist, wenn Sie das Dokument veröffentlichen, hat der Include-Befehl Erfolg.
Wenn die Anzeige von speziellen Tag-MarkierungenSie können spezielle Tag-Markierungen ein- oder ausblenden, indem Sie auf der Standardsymbolleiste auf “Spezielle Tag-Markierungen ein-/ausblenden” klicken. aktiviert ist, wird ein “SSI”-Feld () ebenfalls an der Position des Include-Befehls unmittelbar vor dem (gegebenenfalls angezeigten) eingefügten Dateiinhalt angezeigt.
Nach Einfügen eines beliebigen SSI-Befehls müssen Sie die Dateinamenerweiterung des enthaltenden Dokuments (nicht die der eingefügten Datei) in “.shtml” ändern.
Hinweise zu Include-Befehlen
- Wenn Sie bei der Angabe des Pfads der einzufügenden Datei für Typ die Option Virtuell ausgewählt haben, können Sie einen absoluten Pfad wie “/footer.html” oder relativen Pfad wie “footer.html” oder “../footer.html” eingeben. Der Pfad darf keinen Domänennamen enthalten. Aus diesem Grund sind “http://www.beispiel.com/footer.html” und “www.beispiel.com/footer.html” unzulässig. Wenn Sie für Typ die Option Datei gewählt haben, muss der Pfad relativ sein und auf eine Datei im Ordner des Dokuments oder einen seiner Unterordner zeigen.
- Gehen Sie bei der Verwendung des Include-Befehls zum Einfügen einer HTML-Datei umsichtig vor. Wenn ein Webserver einen Include-Befehl erkennt, fügt dieser stets den gesamten Inhalt der Datei an der Position des Befehls im enthaltenden Dokument ungeachtet des Inhalts der Datei ein. Wenn Sie also einen Include-Befehl zum Einfügen eines vollständigen HTML-Dokuments in ein anderes HTML-Dokument verwenden, enthält das vom Server erzeugte resultierende Dokument zwei Sätze <html>-Tags, zwei Sätze <body>-Tags usw., was gegen die HTML-Regeln verstößt. Wenngleich die meisten Webbrowser mit solchen Problemen zurecht kommen, können sich unerwünschte Folgen ergeben. Wenn beispielsweise das eingefügte Dokument ein Stylesheet enthält, wendet ein Webbrowser gegebenenfalls seine Styles auch auf das enthaltende Dokumente an, was möglicherweise nicht wünschenswert ist. Um solche Probleme zu vermeiden, sollten Sie stets dafür sorgen, dass die eingefügte Datei nur HTML-Elemente enthält, die normalerweise innerhalb des <body>-Elements vorkommen. Diese werden als HTML-Fragment bezeichnet. Die eingefügte Datei sollte demnach keine Elemente vom Typ <html>, <head> und <body> sowie keine Elemente enthalten, die zum Element <head> gehören, wie z.B. <style>.
- Beachten Sie, dass das äußerste bzw. die äußersten Elemente eines eingefügten HTML-Fragments zum äußersten bzw. zu den äußersten Elementen des Elements werden, das den Include-Befehl im enthaltenden Dokument enthält. Demzufolge sollten Sie darauf achten, dass ein eingefügtes HTML-Fragment keine Elemente enthält, die im enthaltenden Element nicht vorkommen dürfen (bzw. dass das enthaltende Element ein Element ist, das die Elemente im eingefügten Fragment enthalten darf). Beispiel: Wenn das enthaltende Element ein Inline-Element wie <span> ist, darf das eingefügte Fragment keine Elemente auf Blockebene wie <p> enthalten. Oder wenn das eingefügte Fragment Elemente auf Blockebene enthält, muss das enthaltende Element ebenfalls ein Eleme
nt auf Blockebene sein. - Falls die einzufügende Datei einfachen Text (ohne HTML-Markierung) enthält, beachten Sie, dass Leerbereiche in ihrem Inhalt von Webbrowsern wie beliebige Leerbereiche in HTML-Dokumenten behandelt werden. Zeilenumbrüche im Text werden in Leerzeichen konvertiert. Mehrere aufeinander folgende Leerzeichen werden in ein einzelnes Leerzeichen umgewandelt. Wenn Sie möchten, dass Browser die Zeilenumbrüche und anderen Leerbereiche in einer eingefügten Textdatei erhalten, fügen Sie den Include-Befehl in einem <pre>-Element ein. (Klicken Sie, während sich die Einfügemarke im Absatz mit dem include-Befehl befindet, auf der Formatierungssymbolleiste auf das Feld Element, und wählen Sie Vorformatierter Text.)