Der Interaktionsdesigner – PHP, jQuery und CSS

4. Juli 2008 (15:25 Uhr)

Einfache Druckfunktion für TYPO3

Ich bin kein Freund davon hunderte Extensions zu installieren und damit Tonnen von fremden Code in das eigene Projekt zu schmeißen. Mit seinen 33MB bringt TYPO3 da schon genug mit. Also möchte ich einfache Aufgaben mit einfachen Boardmitteln lösen.

Zum Beispiel dir Druckfunktion. Als verantwortungsvolle Webagentur erstellen wir ordnungsgemäß eine print.css. Doch trotz aller Erklärungen möchte der Kunde nicht auf das kleine Druckersymbol und die Vorschau verzichten.

Folgenden Lösungsweg möchte ich Vorschlagen, ohne Extensions, nur mit ein paar Zeilen Typoscript.

1. Im Template platzieren wir einen Marker PRINT und definieren diesen als Link auf die gleiche Seite mit einem weiteren Parameter: print=1

PRINT = TEXT
PRINT.typolink {
value = drucken
parameter.data = page:uid
additionalParams = &print=1
target = _new
}

Sehr schön. Weiter zur Einbindung der CSS Dateien.

2. Die Standardcss Datei lassen wir beim einbinden einfach leer:

page.includeCSS {
file1.media = screen
file2 = fileadmin/template/css/print.css
file2 {
title = Druckversion
media = print
}

Und am Ende vom Typoscript kommen wir zu Punkt drei.

3. Mit einer einfachen Bedingung fragen wir unseren Parameter ab und definieren je nach dem die CSS Datei "file1":

# Standard CSS Datei - wird ggf. überschrieben
page.includeCSS.file1 = fileadmin/template/css/style.css
[globalVar = GP:print=1]
# Wenn &print=1 an die Adresse angehängt wird, läd das Print.css
page.includeCSS.file1 = fileadmin/template/css/print.css
[global]

Das wars! Und schon haben wir eine einfache und wirkungsvolle Druckfunktion. Ohne Extensions, ohne ein Drucktemplate, neue Fenster und JavaScript.

Und Typoscript bietet noch so viel mehr. Zum Beispiel können wir die Variable "print" in die allgemeinen LinkVars mit aufnehmen. Damit schleift TYPO3 den Parameter durch alle ordentlich erzeugten Links und wir können in der Druckfunktion rumsurfen als wäre es eine eigene Webseite:

config.linkVars = L, print

Apropos "L". Mehrsprachigkeit ist natürlich auch kein Problem, sollte man den Linktext nicht per Image Replacement verstecken.

[globalVar = GP:L=1]
  page.10.marks.PRINT.value = print
[global]

Selbsterklärend...

Ein Styleswitcher ist genau so einfach zu realisieren. Die Seite der Deutschen Immobiliengesellschaft kommt aktuell mit 23 Extensions aus. Im nächsten Backend zähle ich wieder...

paul 8. Juli 2008 (13:48 Uhr)

Das ist ja einfach. Ich habs ja auch geschrieben. Dieser Kommentar testen einmal das neue coole Antispam Plugin!

Druckfunktion
– TYPO3
Forum &
Portal
27. Dezember 2008 (07:04 Uhr)

[...] wie immer gibt es mehrere M

Patrick 29. Oktober 2009 (17:26 Uhr)

habs gerade in eine page eingebaut. funktioniert tadellos! danke!

» Drucken
mit TYPO3 /
TYP03-Agentur
Berlin:
undkonsorten:
10. Dezember 2009 (18:24 Uhr)

[...] eigenen Pagetype, über diverse Extensions oder – wie der interaktionsdesigner das in “Einfache Druckfunktion für TYPO3” beschreibt, auch mit ein paar Zeilen Typoscript. Da ich seine Abneigung, für jedes kleine [...]

udo marx 14. Juni 2010 (14:52 Uhr)

einfacher geht’s ja wohl nicht!, wunderbar, vielen dank!

Einen Kommentar schreiben

(wird nicht veröffentlicht)

(wird veröffentlicht!)