Another Blog about the Wide Web World
Header image

Ich konnte es kaum glauben, dass ich so lange an der Lösung eines manuellen (ohne Extension, sondern nur mit TypoScript) printlinks saß. Teilweise waren die Lösungen veraltet (z.B. GPvar anstatt GP) oder nahmen keine Rücksicht auf die Get Variablen von tt_news. Außerdem war es mir wichtig, dass ich nicht direkt über JavaScript ein window.print aufrufe und dann “nur” noch die print.css genommen wird. Ich wollte ein komplett neues Template, somit eine Druck-Vorschaufunktion für den User und erst dann das automatische OS Druck-Fenster. Das TypoScript kann natürlich nach belieben angepasst werden.

Hiermit erstelle ich den Printlink und später kopiere ich ihn einen Marker.


temp.print-link = COA
temp.print-link {
	10 = TEXT
	10.value = Seite drucken
	stdWrap.wrap = |
	stdWrap.typolinkno_cache = 1
	stdWrap.typolink.target = print
	stdWrap.typolink.ATagParams = target = _top
	stdWrap.typolink.parameter.cObject = COA
	stdWrap.typolink.parameter.cObject {
 
        5 = TEXT
        5.data = page:uid
        5.wrap = index.php?id=|
        5.required = 1
 
        10 = TEXT
        10.value = &no_cache=1
 
        20 = TEXT
        20.data = GP:L
        20.wrap = &L=|
        20.required = 1
 
        30 = TEXT
        30.data = GP:tx_ttnews | backPid
        30.wrap = &tx_ttnews[backPid]=|
        30.required = 1
 
        40 = TEXT
        40.data = GP:tx_ttnews | tt_news
        40.wrap = &tx_ttnews[tt_news]=|
        40.required = 1
 
        50 = TEXT
        50.data = GP:cHash
        50.wrap = &cHash=|
        50.required = 1
 
        60 = TEXT
        60.value = &type=98
    }
}

Und hiermit definiere ich das Drucktemplate


print = PAGE
print {
  typeNum = 98
  bodyTag = <body onload="javascript:window.print()">   
  ##disable typo3 index
  config.index_enable = 0
 
  ##disable google index
  headerData.123 = TEXT
  headerData.123.value = <meta name="robots" content="noindex, nofollow" />
 
  includeCSS.fileDefault = fileadmin/templates/css/print.css
  10 = TEMPLATE
  10 {
      template = FILE
      template.file = fileadmin/templates/print.tmpl
      workOnSubpart = DOCUMENT_BODY
 
      marks { 
        CONTENT < styles.content.get
      }      
   }
}