Typo3 - Druckversion
Aus Wikizone
Modern
Die obige Version hat verschiedene Nachteile:
- Drucktemplate notwendig
- Ressourcen verbrauch (indizierung der Druckseiten wenn nicht verhindert, Datenbankzugriffe etc
- Druckversion und Druckfunktion des Browsers bringen u.U. verschiedene Ergebnisse.
Deshalb:
Printfunktion des Browsers nutzen und print Stylesheet verwenden um Navigation etc. auszublenden.
Im Typoscript binden wir einfach einen Link mit einem Javascript Schnipsel ein:
Als Bild
temp.drucklink = IMAGE
temp.drucklink{
file = fileadmin/Bilder/printer.gif
altText = Seite drucken
titleText = Seite drucken
wrap = <a href="#" onclick="javascript:window.print()" target="blank">|</a>
oder als Textlink
temp.drucklink = TEXT
temp.drucklink{
value = Seite drucken
wrap = <a href="#" onclick="javascript:window.print()" target="_top">|</a>
}
Bsp. Grauff.com, CSS - Beispielcss auf Basis des Yahoo Frameworks yui
Das CSS wird folgendermaßein eingebunden
page {
includeCSS {
#über Konstanten
#print = {$templatePath}{$cssPrintFile}
# oder so
print = fileadmin/templates/css/print.css
print.media = print
}
}
<pre>
body{
margin: 0 !important;
margin-top: 130px !important;
padding: 0 !important;
}
#druck{
display: block !important;
position: absolute;
top: 0;
right: 0;
}
a img {
border:none;
}
#hd,#navi_bottom,#navi_submenu,#navi_meta,.typo3-adminPanel {
display:none;
}
#bd, #doc2 .yui-t7{
padding:0 !important;
}
#yui-main,#ft,#bd{
float: left !important;
margin: 0!important;
width: 18cm;
clear: both;
}
#yui-b{
/*background: pink;*/
}
.yui-t7 #yui-main .yui-b {
margin:0.5cm !important;
}
Klassisch
TS - Template von J.Weiland
print_page >
print_page = PAGE
print_page {
typeNum = 98
includeCSS {
file1 = fileadmin/templates/css/print.css
file2 = fileadmin/templates/css/muster-content.css
}
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/templates/main/print.html
subparts {
logo = IMAGE
logo.file = fileadmin/templates/img/logo.gif
site = TEXT
site.value = TYPO3 Musterprojekt -
date = TEXT
date.data = date:U
date.strftime = %A, %e. %B %Y
titel = TEXT
titel.value = {page:title}
titel.insertData = 1
titel.wrap = Druckversion der Seite: |
host = TEXT
host.data = getenv:HTTP_HOST
host.wrap = URL: |/
url = TEXT
url.typolink {
parameter.data=TSFE:id
returnLast=url
}
content < styles.content.get
left-content < styles.content.getLeft
right-content < styles.content.getRight
copyright = TEXT
copyright.data = date:U
copyright.strftime = © Copyright %Y jweiland.net - Jochen Weiland</p>
}
}
}
[globalVar = GP: L={$english}]
print_page.10.subparts.site.value = TYPO3 Example Project -
print_page.10.subparts.titel.wrap = Printer friendly version of the page: |
print_page.10.date.strftime = %A, %B %e, %Y
[global]
temp.PRINTLINK = IMAGE
temp.PRINTLINK {
file = fileadmin/templates/main/img/print.gif
alttext = Druckversion dieser Seite
stdWrap.postUserFunc = tx_make_printlink
stdWrap {
#ATagParams = class="printlink"
postUserFunc.target = _blank
postUserFunc.include_post_vars = 0
postUserFunc.popup = 0
# postUserFunc.windowparams = (resizable=yes,toolbar=no,scrollbars=yes,menubar=yes,width=800,height=500))
# postUserFunc.windowname = Printversion
}
}
[globalVar = GP: L={$english}]
temp.PRINTLINK.alttext = Printer friendly version
[global]
page.10.subparts.printlink < temp.PRINTLINK
temp.PRINTLINKTEXT = TEXT
temp.PRINTLINKTEXT {
value = DRUCKVERSION
wrap = <span class="printlink"> | </span>
postUserFunc = tx_make_printlink
postUserFunc.target = _blank
postUserFunc.include_post_vars = 0
postUserFunc.popup = 0
#postUserFunc.windowparams = (resizable=yes,toolbar=no,scrollbars=yes,menubar=yes,width=800,height=500))
#postUserFunc.windowname = Printversion
}
[globalVar = GP: L={$english}]
temp.PRINTLINKTEXT.value = PRINT PAGE
[global]
page.10.subparts.printlinktext = TEXT
page.10.subparts.printlinktext.value =
#page.10.subparts.printlinktext < temp.PRINTLINKTEXT