Internetservice - Blog

bit4you präsentiert einen Blog rund um die Themen TYPO3, MySQL und PHP

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 (urlwidthheight) {
  window.open(url,“popup”,“width=” width “,height=” height “,menubar=yes,scrollbars=yes,resizable=yes”);
}

Kommentare sind zur Zeit geschlossen.

Internetservice - Blog läuft unter Wordpress 2.3.2
Anpassung und Design: bit4you :: Waldseer Str. 14 :: 88250 Weingarten