Druckversion für die Seiten anzeigen
Erfahren Sie hier, wie man Druckversionen für die Seiten anzeigen kann. In diesem Bespiel lernen Sie, wie dies bei Verwendung von TemplaVoila möglich ist. Mehr lesen…
INHALT
1) Voraussetzungen
2) Ein eigenes PAGE-Objekt für die Druckversion anlegen
3) Contentelemente in der Druckversion ausblenden
4) Einen Link zum Aufruf der Druckversion in den normalen Seiten anzeigen
zu 1) Voraussetzungen
In diesem Beispiel gehen wir davon aus, dass einzelne Contentbereiche (z.B. Seitenkopf, Navigationsmenüs) per Templavoila als Typoscript-Content-Objekte gemapped sind.
zu 2) Ein eigenes PAGE-Objekt für die Druckversion anlegen
Um HTML-Header-Bestandteile, wie z.B CSS- und Javascript-Datei-Einbindungen kontrolliert ein- bzw. ausblenden zu können, legt man am besten für die Druckversion ein eigenes PAGE-Objekt an. Die Pageobjekte unterscheidet man mit Hilfe des GET-Parameters “type=”. Für Druckversionen ist “type=98″ üblich.
Das PAGE-Objekt für die normale Seitendarstellung
page = PAGE page { typeNum = 0 includeCSS { file1 = fileadmin/css/style.css file1.media = screen #file2 = fileadmin/css/style-print.css #file2.media = print } includeJS { file1 = fileadmin/javascript/functions.js file1.type = text/javascript } 10 = USER 10.userFunc = tx_templavoila_pi1->main_page meta.keywords.field = keywords meta.description.field = description meta.author.field = author bodyTag = <body> config.index_enable = 1 config.index_externals = 1 }
Das PAGE-Objekt für die Druckversion
pageprint = PAGE # wir kopieren das ursprüngliche PAGE-Objekt und überschreiben zu Ändernde Einstellungen pageprint < page pageprint { typeNum = 98 includeCSS { file1 = fileadmin/css/style-print.css file1.media = screen file2 = } includeJS { file1 = } # Falls Sie ein eigenes Templavoila-Subtemplate für die Druckversion verwenden möchten, # sollten Sie dieses anlegen, und die folgende Zeile einkommentieren # 10.childTemplate = print }
zu 3) Contentelemente in der Druckversion ausblenden
Wir verwenden den GET-Parameter “type” um unerwünschten Content auszublenden
[globalVar = GP:type < 98] lib.mainNav = HMENU lib.mainNav { special = directory special.value = 2 1 = TMENU # Normal 1.NO.linkWrap = <tr><td class=”nav2″>|</td></tr> # Aktiv 1.ACT < .1.NO 1.ACT = 1 1.ACT.linkWrap = <tr><td class=”nav2ak”>|</td></tr> 2 = TMENU # Normal 2.NO.linkWrap = <tr><td class=”nav3″>|</td></tr> # Aktiv 2.ACT < .2.NO 2.ACT = 2 2.ACT.linkWrap = <tr><td class=”nav3ak”>|</td></tr> } [global]
Um zu verhindern, dass unerwünschte HTML-Bereiche in der Druckversion erscheinen, setzen wir z.B. bei HTML-DIV-Layern im Print-Stylesheet “style-print.css” (siehe: 2)) das zugehörige CSS-Attribut “display” auf den Wert “none”: display: none;
zu 4) Einen Link zum Aufruf der Druckversion in den normalen Seiten anzeigen
Wir fügen folgenden Code in das Typoscript-Template ein, um das Templavoila-Objekt “lib.print” für die normale Seitenanzeige zu definieren:
[globalVar = GP:type < 98] lib.print = TEXT lib.print { data = page:uid wrap ( <a href=”javascript:bitPopup(’index.php?id=|&type=98′,645,500);”>Druckversion</a> ) } [global]
Die zugehörige Javascript-Funktion, die in der Datei “functions.js” (siehe: 2)) definiert ist, sieht z.B. so aus:
function bitPopup (url, width, height) {
window.open(url,“popup”,“width=” + width + “,height=” + height + “,menubar=yes,scrollbars=yes,resizable=yes”);
}