Hallo,
hab grad nen ganz komischen Fehler bei der Ausgabe eines Printlayouts in Verbindung mit headerData.
Ich hab Templavoila im Einsatz mit 2 Untertemplates (Print und Lightbox). Das funktioniert soweit auch. Nur wollte ich nun bei der Printausgabe verhindern, dass sämtliche CSS und JS Dateien, die bei der eigentlichen Webseite ausgegeben werden, nicht im Header landen. Daher hab ich folgenden Code erstellt:
temp.headerDefault {
# title-TAG
100 = TEXT
100.field = subtitle // title
100.wrap = <title>| :: XY</title>
# CSS für Standard Layout
110 = TEXT
110.value (
<link href="fileadmin/templates/css/style.css" rel="stylesheet" type="text/css" media="screen" />
<link href="fileadmin/templates/css/thickbox.css" rel="stylesheet" type="text/css" media="screen" />
<link href="fileadmin/templates/css/print.css" rel="stylesheet" type="text/css" media="print" />
)
# Browser Spezifische CSS Angaben
120 = TEXT
120.value (
<!--[if lt IE 7]><link href="fileadmin/templates/css/ie6.css" rel="stylesheet" type="text/css" /><![endif]-->
<!--[if IE 7]><link href="fileadmin/templates/css/ie7.css" rel="stylesheet" type="text/css" /><![endif]-->
)
#Javascript Angaben
160 = TEXT
160.value (
<script src="fileadmin/templates/js/jquery.min.js" type="text/javascript"></script>
<script src="fileadmin/templates/js/main.js" type="text/javascript"></script>
<script src="fileadmin/templates/js/jquery.thickbox.js" type="text/javascript"></script>
)
}
temp.headerPrint {
# title-TAG
100 = TEXT
100.field = subtitle // title
100.wrap = <title>| :: XY</title>
# CSS für Standard Layout
110 = TEXT
110.value (
<link href="fileadmin/templates/css/print.css" rel="stylesheet" type="text/css" />
)
}
temp.headerLightbox {
# title-TAG
100 = TEXT
100.field = subtitle // title
100.wrap = <title>| :: XY</title>
# CSS für Standard Layout
110 = TEXT
110.value (
<link href="fileadmin/templates/css/thickbox.css" rel="stylesheet" type="text/css" media="screen" />
<link href="fileadmin/templates/css/thickbox_katalog.css" rel="stylesheet" type="text/css" media="screen" />
)
#Javascript Angaben
160 = TEXT
160.value (
<script src="fileadmin/templates/js/jquery.min.js" type="text/javascript"></script>
<script src="fileadmin/templates/js/main.js" type="text/javascript"></script>
)
}
page = PAGE
page {
typeNum = 0
meta.description.field = abstract
meta.keywords.field = keywords
meta.robots = index,follow,noodp,noydir
shortcutIcon = favicon.ico
10 = USER
10.userFunc = tx_templavoila_pi1->main_page
headerData < temp.headerDefault
}
// Objekt für Druckseiten erzeugen
print = PAGE
print {
typeNum = 98
headerData < temp.headerPrint
10 = USER
10.childTemplate = print
10.userFunc = tx_templavoila_pi1->main_page
}
// Objekt für Lightboxen erzeugen
lightbox = PAGE
lightbox {
typeNum = 200
headerData < temp.headerLightbox
10 = USER
10.childTemplate = lightbox
10.userFunc = tx_templavoila_pi1->main_page
}
Komischerweise werden bei der Printausgabe trotzdem die ganzen CSS und JS Dateien vom
temp.headerDefault verwendet. Hat das etwas damit zu tun, dass es sich bei templavoila um Untertemplates handelt und daher der Header vom page Objekt gezogen wird?
Bitte nicht wundern wie ich die CSS Dateien einbinden. Die Variante ist mir irgendwie lieber als includeCSS.