Zum Inhalt springen

Printlink - Druckversion erstellen

Erstellt am 27. Januar 2009 · 11 Antworten · letzte Antwort am 21. Januar 2011

Tags: Frage

Truller500 ·

Hallo Typo3 Experten,
Vorweg: Ich stelle jetzt diese Frage nicht, weil ich zu faul zum Suchen bin… ich habe schon diverse Wege und Erklärungen probiert. Ich schaffe es einfach nicht.

Frage wie baue ich einen Printlink in meine Seite ein?

Hier das Setup:

#####Seitenkonfiguration#####
lib.stdheader.10.stdWrap.wrap =
tt_content.stdWrap.dataWrap = <A name="{field:uid}"></a>

page = PAGE
page.typeNum = 0
config.pageTitleFirst = 1
page.includeCSS {
file1 = fileadmin/templates/wmp/style.css

}
page.headerData.1 = TEXT
page.headerData.1.value (
<!--[if IE]>
<style type=text/css>
@import url(fileadmin/templates/wmp/ie_style.css);
</style>
<![endif]-->
)
page.bodyTag = <body>
page.1 = TEMPLATE
page.1.marks.PAGE_UID = TEXT
page.1.marks.PAGE_UID.field = uid

page.1 {
template = FILE
template.file = fileadmin/templates/wmp/me.htm
workOnSubpart = DOKUMENT
subparts.INHALT_LINKS < styles.content.getLeft
#subparts.INHALT_RECHTS < styles.content.getRight
subparts.MENU_OBEN < temp.Menu
#subparts.CONTENT_BORDER < styles.content.getBorder
subparts.INHALT < styles.content.get
subparts.MENU_LINKS < temp1.vertikalmenu
subparts.MENU_LINKS1 < temp2.vertikalmenuzwei
subparts.MENU_UNTEN < tmp.MENU_BOTTOM

}

Vielleicht weiß ja hier jemad Rat...

Vielen Dank

Truller500 ·

Hallo Julian,

vielen Dank.
Ich möchte einen Link auf der Seite habe z.B. Druckversion.
Beim Klick geht ein separates Fenster mit einer Druckversion auf.

Wie mache ich das?

Gruß

T.

pixelparts ·

Hallo Truller500,

hier mein Vorschlag:

DRUCKVERSION

benötigt ein html-Template und ein css.

ins Template-Setup:

##### Druckversion #####
temp.printlink = IMAGE
temp.printlink {
file = fileadmin/templates/img/print.gif
stdWrap.typolink {
parameter.dataWrap = {TSFE:id},1 800x600
addQueryString = 1
useCacheHash = 1
ATagParams = class="printlink"
title = Drucke diese Seite
JSwindow_params = scrollbars=1, resizable=1
}
}
}

druckversion = PAGE
druckversion {
typeNum = 1
includeCSS.file = fileadmin/templates/css/print.css
bodyTag = <body onload="javascript:window.print()">
}
druckversion.10 = TEMPLATE
druckversion.10 {
template = FILE
template.file = fileadmin/templates/templates/print.html
workOnSubpart = DOCUMENT_BODY
marks.CONTENT_NORMAL < styles.content.get
marks.CONTENT_RECHTS < styles.content.getRight
marks.CONTENT_LINKS < styles.content.getLeft
}
page.10.marks.PRINTLINK < temp.printlink
#### Druckversion Ende ####

Viele Grüße, Uwe

Truller500 ·

Hallo Uwe,

vielen Dank!!!
Das ist ja wirklich sehr ausführlich und klar und verständlich.

Aber ich schaff es ja noch nicht einmal den Link zu setzen.
Nach allem, was ich bislang weiß, würde der Marker für mein Template mit deinem Script so aussehen:

###PRINTLINK###

Leider passiert da gar nix - es erscheint nur >> ###PRINTLINK### <<
Langsam zweifel ich an allem, was mir noch an Verstand geblieben ist...

Vielen Dank nochmal

Truller500

Michaelh74 ·

Probier mal das - testweise:

temp.printlink = TEXT
temp.printlink.value = Mein Link zur Druckversion
page.10.marks.PRINTLINK < temp.printlink

Wenn dann nach löschen des Caches Dein Marker nicht durch "Mein Link zur Druckversion" ersetzt wird. Ist er nicht im Objekt page.10.
Dann hast Du Dein Basis TS vielleicht anders aufgebaut benannt...

Gruß
Michael

mort ·

Hallo,

vielleicht hilft dir ja meine Variante mit der extention make_printlink:
Ich habe im HTML-Template den Marker ###DRUCKVERSION### an der Stelle, an der mein kleines Drucker-Symbol erscheinen soll.
Zugehöriges TS sieht so aus: (entschuldigt bitte meine redundante Syntax ohne geschweifte Klammern)

##### DRUCKVERSION #####
Druckseite = PAGE
Druckseite.typeNum = 98
Druckseite.stylesheet = fileadmin/templates/sitename/css/styles.css
temp.trennlinie = HTML
temp.trennlinie.value = <hr>
Druckseite.wrap = <tr> | </tr>
Druckseite.1 = COA
Druckseite.1.10 = TEXT
Druckseite.1.10.value = <h4>www.sitename.de</h4>
Druckseite.2 < styles.content.get
Druckseite.2.wrap = <div id="druck"> | </div>
Druckseite.4 = COA
Druckseite.4.10 < temp.trennlinie
Druckseite.4.20 = TEXT
Druckseite.4.20.data = date:U
Druckseite.4.20.strftime = %d.%m.%Y
Druckseite.4.20.wrap = gedruckt am &nbsp; | <br>
Druckseite.4.30 < temp.trennlinie

page.10.marks.DRUCKVERSION = IMAGE
page.10.marks.DRUCKVERSION.file = fileadmin/templates/sitename/images/print.gif
page.10.marks.DRUCKVERSION.stdWrap.postUserFunc = tx_make_printlink
page.10.marks.DRUCKVERSION.stdWrap.postUserFunc.target = _blank
page.10.marks.DRUCKVERSION.stdWrap.postUserFunc.popup = 1
page.10.marks.DRUCKVERSION.stdWrap.postUserFunc.windowparams = (resizable=auto,toolbar=yes,scrollbars=yes,menubar=yes,width=800,height=500)
page.10.marks.DRUCKVERSION.stdWrap.postUserFunc.windowname = Druckversion

Im oberen Abschnitt erzeuge ich mir das Template meiner Druckseite:
Ich bau mir erst ne fixe Überschrift (1), ziehe mir dann den zu druckenden Inhalt (2), und bau dann noch ne Trennlinie mit Druckdatum drunter ein (4).
Um den auszugebenden Inhalt wrappe ich noch ein div mit dem ich dann über das stylesheet den Text noch etwas formatiere.

Im unteren Bereich spreche ich dann den Marker an setze die Link- bzw. Fenster-Attribute.

Ich hoffe, dass dir das weiterhilft.

Gruß

Truller500 ·

Hallo Mort und Michaelh74,

erstmal Danke für Eure Antworten. Sorry, dass ich jetzt erst antworte - es ging leider nicht eher.

Also.
Leider habe ich mit Euren Vorschlägen keinen Erfolg gehabt.

Allerdings habe ich es so hinbekommen:

###make print link
  print = PAGE
  print {
    typeNum = 98  
    10 < styles.content.get
  } 
###make print link END

temp.PRINT = COA
temp.PRINT {
  wrap = <a href="|" name="Drucken" title="Drucken" target="_blank" class="print">Druckansicht</a>
 
  10 = TEXT
  10.data = TSFE:id
  10.wrap = index.php?id=|&type=98
}
### und der Marker dafür:
page.10.marks.PRINTBUTTON < temp.PRINT

Resultat: neues Fenster zeigt nur den Inhalt.

Problem: Wähle ich eine Andere Sprache wird z.B. &L=1 nicht übergeben.
Kann man das beheben?

Viele Grüße

Truller500

Truller500 ·

So,

habe alles nochmals durchgearbeitet.

morts Beipiel funktioniert, auch die Sprachen werden an die Druckversion übergeben. Toll, klasse, prima, supi, danke!!!!
Allerdings nur mit der Extension make_printlink... das wusste ich natürlich nicht.

Vielen Dank dafür.

sguser ·

Hallo !

Ich habe das Beispiel auch eingebaut und es funktioniert zusammen mit der Extension make_printlink.
Jetzt habe ich gerade die Unterseite gestest wo die tt_news drin sind und in der Druckversion erscheint der Text: keine news-id übergeben. Wie kann ich das noch einbauen ?
Habe in Google und in der Extension Beschreibung keine Lösung gefunden, es wundert mich eigentlich dass keiner das gleiche Problem hat - oder stehe ich auf dem Schlauch ?

Habe die Lösung hier im Forum gefunden:

#33520

Robin4 ·

Guten Tag alle miteinander,

ich bin neue hier in einem froum und habe auch noch keine froum erfahrung also wenn euch irgendwas nicht passt bitte sofort bescheid sagen.

Also ich habe folgendes problem. Ich habe auf meiner typoseite ein Drucker icon hinzugefügt was auf der seite oben rechts im header angezeigt wird aber ich bekomme es nicht hin es so zu programmieren das ich auf das icon klicken kann und eine druckversion bzw also eine neue seite soll sich öffnen die man dann drucken kann aber auch nur den text part...
kann mir da jemand weiterhelfen?
Ich muss auch dazu sagen ich bin sehr neue in der Branche also ein Anfänger aber jeder hat ja mal irgendwo angefangen..

Danke schonmal im vorraus für eure Hilfe!!!!

Viele Grüße Robin

Robin4 ·

Noch hinzugefügt...
Ich arbeite mit automaketemplate
und der der text der in der Druckversion erscheinen soll steht in einem seperaten div namens div.main

Danke im vorraus!

Viele grüße Robin