TYPO3: Universelle Druckansicht mit Extensions

12. Juni 2007 | 7 Kommentare

TYPO3 Tutorials by undkonsorten BerlinEine schöne Druckansicht mit TYPO3 zu bekommen ist manchmal gar nicht so einfach, insbesondere wenn zahlreiche Extensions integriert sind, wie z.B. tt_products oder tt_news. Dafür doch die Mühe lohnt sich. Wie eine saubere Druckversion implementiert wird, beschrieben wir nachfolgend.Als erstes sollte unter Include static im RootTemplate die Vorinstallierte Erweiterung plugin.alt.print hinzugefügt werden:

Include Static

Als nächstes wird die Druckseite näher definert:Im TS folgenden Code einfügen.

# DRUCKSEITE DEFINIEREN
# *********************************************
print = PAGE
print {
typeNum = 98
bodyTag =<body bgcolor=“#ffffff“ leftmargin=“0″ topmargin=“0″ marginwidth=“0″ marginheight=“0″ onload=“javascript:window.print()“>
#10 < styles.content.getLeft
20 < styles.content.get
#30 < styles.content.getRight
}

Dieser Code definert die Seite 98 als Druckseite (Defaultwert). Ausser dem wird festgelegt welcher Inhalt auf der Seite erscheinen soll. In diesem Fall wird nur der Inhalt aus der Mitte genommen.(Rechts und Links sind auskommentiert). Der bodyTag Abschnitt sort nur dafür das automatisch ein Druckfenster aufgeht.

Nun kommt der schwierege Teil:Bei den meisten Extensions wird über den Link mitgeschickt welches Element man sich anschauen möchte, z.B. bei tt_news welche news man lesen möchte. Das schaut dann so aus: news.html?&no_cache=1&tx_ttnews[tt_news]=
61&tx_ttnews[backPid]=25&cHash=09bcea4abb

Normalerweise wird das alles nicht an die Druckseite übergeben, ergo sobald man auf den Drucklink klickt erscheint der Beitrag nicht.
Kümmern wir uns also darum das das alles übergeben wird:

# DRUCKLINK
# *********************************************
10.marks{
DRUCK = COA
DRUCK.10 = TEXT
DRUCK.10.value =| Seite drucken
DRUCK.stdWrap.wrap = |
DRUCK.stdWrap.typolinkno_cache = 1
DRUCK.stdWrap.typolink.target = print
DRUCK.stdWrap.typolink.ATagParams = target = _top
DRUCK.stdWrap.typolink.parameter.cObject = COA
DRUCK.stdWrap.typolink.parameter.cObject {
5 = TEXT
5.data = page:uid
5.wrap = index.php?id=|
5.required = 110 = TEXT
10.value = &no_cache=120 = TEXT
20.data = GPvar : L
20.wrap = &L=|
20.required = 1

30 = TEXT
30.data = GPvar : tx_ttnews | backPid
30.wrap = &tx_ttnews[backPid]=|
30.required = 1

35 = TEXT
35.data = GPvar : tx_mjseventpro_pi1 | showUid
35.wrap = &tx_mjseventpro_pi1[showUid]=|
35.required = 1

40 = TEXT
40.data = GPvar : tx_ttnews | tt_news
40.wrap = &tx_ttnews[tt_news]=|
40.required = 1

45 = TEXT
45.data = GPvar : tx_ttproducts_pi1 | product
45.wrap = &tx_ttproducts_pi1[product]=|
45.required = 1

50 = TEXT
50.data = GPvar : cHash
50.wrap = &cHash=|
50.required = 1

60 = TEXT
60.value = &type=98

}
}

Dies kann man für beliebiege Extensions nach dem oben vorgestellten Schema erweitern.

Ähnliche Artikel:

Meta-Daten



7 Kommentare

Auch mal Kommentieren:

Kommentar