Schritt für Schritt

Schritt 8 : Druck Template realisieren ( ohne Extension ) / Seite drucken Link erstellen

ERROR: Content Element with uid "128" and type "menu" has no rendering definition!

Druck Template erstellen

In vielen Fällen ( zum Beispiel bei TemplaVoilà ) sieht man, das für ein Druck Template ein eigenes HTML Template erstellt wird. Auch schon oft gesehen habe ich das eine Print CSS Datei beim bestehenden Template eingebunden wird, welches die nicht benötigten HTML Elemente per CSS beim drucken ausblendet.

Die CSS Variante ist sicherlich eine der besseren Lösung, weil somit auch durch das Drucken über die Browser Funktion das Layout optimiert wird. Ob eine Seite über eine CSS Druckversion verfügt, sieht man über die Browser Funktion <Druckvorschau>, oder spätestens wenn man die Seite ausgedruckt hat.

Es gibt einige Extenstions zum Thema drucken welche man einbinden kann um ein Druck Template erstellen zu können. Jedoch geht das auch mit reinem TS Code, ohne eine zusätzliche Extension.

Drucken Link mit TS Code erstellen

Wenn man mit TypoScript einen Drucken Link erstellt, muss man einige Dinge berücksichtigen. Einer der wichtigsten Punkte ist:

  • Bei einer Detail Seite von einer Extension, soll beim drucken nicht plötzlich wieder die Listenansicht angezeigt werden.


Oft wird vergessen die benötigten Parameter dem Drucken Link weiter zu geben. Zugegeben, bei POST Parameter ist es mit TypoScript etwas mühsam ( da würde ich eine Extension empfehlen ) jedoch bei GET Parameter ist es kein Problem. In {getIndpEnv:QUERY_STRING} sind die aktuellen GET Parameter vorhanden, diese kann man in den typolink einbinden.

Oops, an error occurred! Code: 202007100434265c7180dc

Seiten Template beim drucken verädern

Damit im Druckentemplate unnötige HTML Elemente nicht mehr vorhanden sind, kann man diese per typoscript entfernen. Ebenfalls muss man sicherstellen, das die Druckversion der Seite nicht in der Suche (indexed_serach) erscheint.

Jetzt braucht man noch etwas um das darstellen des Drucken Templates auslösen zu können. Im Typo3 hat sich hier als URL Parameter type=98 oder print=1 eingebürgert.

Für diese Realisierung wurden einige Dateien und Scripte angepasst.

Oops, an error occurred! Code: 202007100434269a45ba50Oops, an error occurred! Code: 202007100434268cfe6c3fOops, an error occurred! Code: 2020071004342667bc3c93

Anmerkung

Das bei der Druckversion der URL Parameter id nun zwei mal angezeigt wird, ist zwar etwas unschön, aber nicht so tragisch.

Ein weiteres Problem ist jedoch, das ohne weitere Angaben Google diese Seite ( druck Version ) indexieren wird, dies sollte man verhindern, da der Benutzer keine Navigation sehen wird.

Druck Template nicht indexieren

Damit die Druck Version der Seite nicht bei Google indexiert wird, kann man im <head> Bereich entsprechend die <robots> Information festlegen.

Oops, an error occurred! Code: 202007100434265b805e80