TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

headerData macht komische Sachen


Autor Nachricht
Verfasst am: 24. 06. 2009 [11:00]
JBrooks
Themenersteller
Dabei seit: 07.09.2006
Beiträge: 91
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:

TYPOSCRIPT
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.
Profil
Verfasst am: 24. 06. 2009 [15:42]
JBrooks
Themenersteller
Dabei seit: 07.09.2006
Beiträge: 91
ich hab es nun teilweise gelöst bekommen. Wenn ich nicht nur print=1 als Parameter angebe, sondern auch type=98, dann gibt er mir den richtigen Headerinhalt aus.

Das heißt ich brauch print=1 um das richtige Subtemplate von Templavoila zu erhalten und die richtige typeNum um das richtige PAGE Objekt anzusprechen.

Geht das nicht auch einfacher. Nur mit dem print-Parameter? Dachte der wäre hardcodiert dem typeNum 98 zugewiesen...

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 24.06.2009 um 15:43.]
Profil
Verfasst am: 24. 06. 2009 [16:42]
zappzarapp
Dabei seit: 21.03.2007
Beiträge: 236
Warum brauchst du denn print=1 in der URL, reicht die Typenum alleine nicht auch?

lg Matthias
Profil
Verfasst am: 24. 06. 2009 [22:17]
JBrooks
Themenersteller
Dabei seit: 07.09.2006
Beiträge: 91
mit typenum lässt sich leider das untertemplate bei templavoila nicht ansprechen. oder mach ich vielleicht etwas falsch?

Wenn es auch komplett ohne print=1 geht, lass es mich gerne wissen icon_biggrin.gif
Profil