Hier habe ich ein TYPOScript entworfen, welches über die ganze Navigation geht und alle Inhalte in eine Seite packt. Das hat enormen Vorteil, wenn man einen PDF-Export der Seite haben möchte. Zusammen mit dem pdf_generator2 funktioniert das prima. Probleme hatte ich nur, den Index zu erstellen. Dafür hatte ich den cron_accessible_menu umgebogen. Dieses Script ist hier leider nicht enthalten, der Export soll aber nur eine Anregung sein, wie das prinzipell möglich ist.
Meine Idee= Navigation auslesen und bei jedem Punkt mit before.cObject die Inhalte der entsprechendenen Seite auszulesen.
### tech doku ausgabe als normal, druck und pdf ### techdoku = COA techdoku { 1 = TEXT 1.value = <div id="logo"><img src="fileadmin/template/img/logo.gif" /></div> 5 < styles.content.get 5.stdWrap.required = 1 5.stdWrap.wrap = <div id="deckblatt" style="page-break-after:always;">|<br /><br clear="both" /></div><!--NewPage--> 10 = HMENU 10 { entryLevel = -1 wrap = <div id="menu"><h1>INHALTSVERZEICHNIS</h1>|</div> 1 = TMENU 1 { IProcFunc = user_cronaccessiblemenus->makeAccessible IProcFunc.accessKeys = 0 IProcFunc.dfn = 1 expAll = 0 noBlur = 1 NO = 1 NO { doNotLinkIt = 1 } } 2 < .1 3 < .2 4 < .3 5 < .4 } 20 = HMENU 20 { entryLevel = -1 wrap = <!--NewPage--><div id="content">|</div> 1 = TMENU 1 { IProcFunc = user_cronaccessiblemenus->makeAccessible IProcFunc.accessKeys = 0 IProcFunc.dfn = 1 expAll = 1 noBlur = 1 NO = 1 NO { doNotLinkIt = 1 after.cObject = COA after.cObject { 20 = CONTENT 20 { table = tt_content select { pidInList.field = uid } renderObj = COA renderObj { 10 = TEXT 10.field = header 10.wrap = <strong>|</strong> 10.required = 1 20 = IMGTEXT 20 { text < tt_content.text.default imgList.field = image textPos.field = imageorient imgPath = uploads/pics/ imgObjNum = 1 1 { file.import.current = 1 file.width.field = imagewidth imageLinkWrap = 1 imageLinkWrap { bodyTag = <body bgcolor="black"> wrap = <a href="javascript:close();"> | </a> width = 800 height = 600 JSwindow = 1 JSwindow.newWindow = 1 JSwindow.expand = 0,20 } } maxW = 400 maxWInText = 140 cols.field = imagecols border.field = imageborder caption { 1 = TEXT 1.field = imagecaption 1.wrap = | } borderThick = 2 colSpace = 10 rowSpace = 10 textMargin = 10 } 30 = TEXT 30 { field = bodytext parseFunc < tt_content.text.20.parseFunc stripHtml = 0 } } } } } } 2 < .1 3 < .2 4 < .3 5 < .4 } }
Noch besser ist eigentlich, das renderObj von css_styled_content zu nehmen:
renderObj < styles.content.get.renderObj
after.cObject = COA
after.cObject {
20 = CONTENT
20 {
table = tt_content
select {
pidInList.field = uid
languageField=sys_language_uid
}
wrap = |
renderObj < styles.content.get.renderObj
}
}