SSI
Diese Seite drucken Hier können Sie uns eine Emaiil schreiben zurück Zur Übersicht vorwärts Links   Letzte Änderungen 06.03.2021
     
Seiten für den Ausdruck optimieren
von Arne Pottharst
Bieten Sie Ihren Besuchern die Möglichkeit, Seiten auszudrucken, ohne dass Menüleisten, Kopf- und Fußzeilen mit aufs Papier kommen. Mit SSI sind Sie unabhängig von Browsern, CSS und JavaScript.

Zwei verschiedene Versionen einer Seite zu erstellen, ist mit beträchtlichem Wartungsaufwand verbunden. Deutlich einfacher ist es, die nicht zu druckenden Elemente auszublenden oder - im umgekehrten Falle - speziell für den Druck einzublenden. Mit SSI ist das kein Problem.

Bieten Sie - egal ob in Kopf- oder Fußzeile der Seite - den Verweis "Druckeroptimierte Version dieser Seite" an. Er sieht so aus:

<a href="seite.html?print">Druckeroptimierte Version dieser Seite</a>

Um die Sache zu vereinfachen, können wir den Namen der aufgerufenen Seite per SSI ermitteln.

<a href="<!--#echo var="DOCUMENT_URI"-->?print">
Druckeroptimierte Version dieser Seite</a>

Dieser Code kann direkt in Menus eingefügt werden, die dynamisch per SSI in die aktuelle Seite mit <--#include virtual="menu.shtml" --> eingefügt werden. Komfortabler geht es fast nicht...

Nun müssen wir in der SHTML-Datei festlegen, was eigentlich gedruckt werden soll und was nicht. Über die if-Anweisung überprüfen wir die Umgebungsvariable $QUERY_STRING. In ihr wird alles, was sich in einer URL hinter dem Fragezeichen befindet, gespeichert - in diesem Falle ist es "print".

Die Abfrage sieht dann folgendermaßen aus:

<!--#if expr="$QUERY_STRING = 'print'" -->
  ... dieses erscheint nur beim Drucken ...
<!--#else -->
  ... dieses erscheint nur im Browser ...
<!--#endif -->

Um beispielsweise die Navigation auszublenden, verwenden Sie diesen Befehl:

<!--#if expr="$QUERY_STRING != 'print'" -->
  ... dieses erscheint nur im Browser ...
<!--#endif -->

Für Dinge, die nur beim Drucken erscheinen sollen, lautet die Abfrage hingegen so:

<!--#if expr="$QUERY_STRING = 'print'" -->
  ... dieses erscheint nur beim Drucken ...
<!--#endif -->

Beachten Sie die verschiedenen Vergleichsoperatoren:

= (gleich)
!= (ungleich)

Diese Befehle können auf alles, was beim Drucken stören könnte, angewendet werden. Egal ob es sich um Menüs, Bilder oder Links handelt. Und sie können so oft wie nötig verwendet werden. (ap)

Der gesamte Quelltext:

<!--#if expr="$QUERY_STRING = 'print'" -->
  <p>Druckeroptimierte Seiten per SSI:<br>
  URL: <!--#echo var="DOCUMENT_URI" --></p>
<!--#else -->
  <p><a href="<!--#echo var="DOCUMENT_URI" -->?print">
  Druckeroptimierte Version dieser Seite</a></p>
<!--#endif -->