Zum Inhalt springen

Fluidtemplate + Druckversion/Printlayout

Erstellt am 23. März 2012 · 2 Antworten · letzte Antwort am 29. März 2012

Tags: Frage

startupboy ·

Hallo zusammen,
ich habe eine neue Typo3-Seite mit einem Fluid-Template angelegt.

In etwa:

page = PAGE
page.typeNum = 0
page.10 = FLUIDTEMPLATE
page.10 {
  partialRootPath = fileadmin/template/partials/
  layoutRootPath = fileadmin/template/layouts/
  variables {
    content < styles.content.get
    content_left < styles.content.get
    content_left.select.where = colPos = 1
    content_right < styles.content.get
    content_right.select.where = colPos = 2
  }
}

Nun brauche ich für diese Seite auch eine Druckversion, nur leider stehe ich gerade ein wenig auf dem Schlauch.
Eigentlich müsste ich ja jetzt irgendwas in dieser Richtung machen:

druckversion = PAGE
druckversion.typeNum = 1
druckversion.10 = FLUIDTEMPLATE
druckversion.10 {
 partialRootPath = fileadmin/template/partials/
  layoutRootPath = fileadmin/template/layouts/
  variables {
    content < styles.content.get
    content_left < styles.content.get
    content_left.select.where = colPos = 1
    content_right < styles.content.get
    content_right.select.where = colPos = 2
  }
}

Doch ich bekomme dann beim Klick auf meinen Print-Link

lib.printLink = TEXT
lib.printLink.wrap = <a onfocus="this.blur()" href="#" onClick="window.open('index.php?id=|&type=1','Druckversion','height=800,width=600,scrollbars=yes'); return false;"><img class="buttonPrint" title="Seite drucken" alt="Seite drucken" src="./fileadmin/template/img/buttonPrint.gif"></a>
lib.printLink.field = uid

die Meldung:

No template has been specified. Use either setTemplateSource() or setTemplatePathAndFilename().

Weiß jemand was ich falsch mache, bzw. wie es richtig geht?

Ein hilfreicher Weblink wäre auch ok.

Freue mich über jede Hilfe 🙂

jank ·
startupboy schrieb
druckversion = PAGE
druckversion.typeNum = 1
druckversion.10 = FLUIDTEMPLATE
druckversion.10 {
 partialRootPath = fileadmin/template/partials/
  layoutRootPath = fileadmin/template/layouts/
  variables {
    content < styles.content.get
    content_left < styles.content.get
    content_left.select.where = colPos = 1
    content_right < styles.content.get
    content_right.select.where = colPos = 2
  }
}

Es fehlt die angabe zum Template File.

druckversion = PAGE
druckversion.typeNum = 1
druckversion.10 = FLUIDTEMPLATE
druckversion.10 {
   #das Template File:
   file = fileadmin/template/print.html
   partialRootPath = fileadmin/template/partials/
   layoutRootPath = fileadmin/template/layouts/
   variables {
      content < styles.content.get
      content_left < styles.content.get
      content_left.select.where = colPos = 1
      content_right < styles.content.get
      content_right.select.where = colPos = 2
  }
}

Und hier der hilfreiche Weblink 😉 :
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Index.html

Wenn sich das Layout nicht grundlegend unterscheidet verwende ich immer lieber eine Print.css

page.includeCss{
   print = fileadmin/template/Resources/Public/Css/Print.css
   print.media = print
}

Da kannst du mit display:none auch Bereiche ausblenden.

Das erspart das Rendering/Caching eines zusätzlichen Seitentyps in Typo3 und das neue Laden des Browsers.
Die Print.css besteht auch meist nur aus wenigen Zeilen in denen Bereiche ausgeblendet werden oder Größen angepasst wird.