Newsbereich mit Server Side Includes (SSI)

Ein Newsbereich ist eine tolle Sache: Schliesslich vermittelt er dem Besucher – vorausgesetzt er wird regelmäßig mit Nachrichten gefüllt – den Eindruck, dass die Seite stets auf einem aktuellen Stand ist. Allerdings ist es relativ aufwendig einen solchen Newsbereich zu pflegen, wenn man nicht die Möglichkeit hat dynamische Inhalte per Scriptsprache (PHP, Perl ...) einzubringen. Auf statischen Internetseiten muss der Newsbereich, der ja auf jeder einzelnen Seite angezeigt werden muss, in jeder einzelnen Seite eingefügt werden. Bei einer Änderung muss dann jede einzelne Seite angepasst werden. Darüber hinaus führt eine dezentrale Speicherung der Newsmeldungen oft zu Fehlern. So kann es beispielsweise vorkommen, dass nicht alle geänderten Seiten nach der Änderung auf den Web-Server kopiert werden, oder dass Seiten bei der Anpassung vergessen werden.

Der Newsbereich lässt sich auch mit Hilfe von JavaScript realisieren, was wiederum zu dem Problem führt, dass dies bei ausgeschaltetem JavaScript auf Browserseite nicht mehr funktioniert. Statt dessen muss man eine entsprechende Meldung ausgeben und darauf hinweisen, dass dieser Bereich so nicht funktioniert. Ist die Verlinkung per JavaScript zudem noch die einzige Möglichkeit zu den Newsseiten zu gelangen, ist es aus mit der Versorgung der Besucher mit Newsartikeln – ein Feature weniger. Abhilfe lässt sich aber auch ohne derartige Technologien schaffen. Auch in diesem Fall können wir Server Side Includes (SSI) bemühen um uns die Wartung der Seite möglichst einfach zu machen.

<html>
<body>
    <div style="display:inline;float:left;">
        Navigationselemente
    </div>
    <div style="display:inline;float:left;">
        Hier steht der Seiteninhalt
    </div>
    <div style="display:inline;float:left;">
        <!--#include virtual="/news.shtml" -->
    </div>
</body>
</html>

Im oberen Beispiel werden Navigation und Content (Seiteninhalt) – jeweils angedeutet – nebeneinander angezeigt. Der darzustellende Newsbereich wird mit Hilfe eines SSI-Befehls vom Webserver aus der Datei /news.shtml automatisch in die Seite eingefügt. Eben diese Datei beinhaltet stets die aktuellsten Meldungen und die Links auf die entsprechenden Newsseiten, die jeweils den gesamten Newsartikel enthalten. Dadurch ist man grundsätzlich von clientseitigen Scriptsprachen unabhängig und jeder Benutzer kann das Angebot wahrnehmen. Die folgende Datei /news.shtml enthält die letzten Meldungen in Form von normalem HTML-Code:

<span>09.07.2005</span><span>Meldung 1 <a href="/news/1.shtml">mehr</a></span>
<span>15.06.2005</span><span>Meldung 2 <a href="/news/2.shtml">mehr</a></span>
<span>07.06.2005</span><span>Meldung 3 <a href="/news/3.shtml">mehr</a></span>

Auch hier ist es Sache eines Cascading Stylesheets (CSS) die Seite entsprechend ansehnlich zu formatieren. Bei einer Änderung der Liste der letzten Newsartikel ist also nur noch die Anpassung und der Upload dieser Datei durchzuführen.