[TYPO3-german] Eigene Content-Layout-Ausgabe wenn layout = 90

Gerald Maier werbung at patchwork3d.de
Sat Jan 21 09:45:15 CET 2017


Hallo liebe Community,

ich hätte eine Frage bzw. wenn das nicht geht eine andere Frage:
Ich habe folgendes Typoscript geschrieben:

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
	key.field = layout
	
	90 = COA
	90 {
		wrap = <div class="teaser_box">|</div>
		10 = COA
		10 {
			stdWrap.required = 1
			stdWrap.outerWrap.cObject = TEXT
			stdWrap.outerWrap.cObject.value = <div class="teaser_img">|</div>
			
			10 = FILES
			10 {
				references {
					table = tt_content
					uid.data = uid
					fieldName = assets
				}
				renderObj = IMAGE
				renderObj {
					file.import.data = file:current:originalUid
					file.width = 275
					file.height = 187
					altText.data = file:current:alternative
				}
			}
		}
		20 = COA
		20 {
			wrap = <div class="teaser_text">|</div>
			
			10 = TEXT
			10 {
				value.field = header
				wrap = <h3>|</h3>
			}
			20 = TEXT
			20 {
				value.field = bodytext
				stdWrap.parseFunc = < lib.parseFunc_RTE
			}
		}
		30 = TEXT
		30 {
			dataWrap = <a class="link_read_more" href="?id={field : header_link}">mehr erfahren</a>|
			dataWrap.insertData = 1
		}
	}
}

Das klappt auch erstmal super, allerdings müsste ich jetzt das "normale" Content-Element vom Rendern abhalten. Zur Zeit erscheint es einfach nochmal unten drunter und macht damit meine Bemühungen zu nichte...

Ein alternativer Ansatz, den ich versucht habe war dieser hier:

tt_content.stdWrap.cObject = CASE
tt_content.stdWrap.cObject {
	key.field = layout
	
	0 = COA
	0 {
		wrap = <div id="c{field : uid}"> | </div> 
		wrap.insertData = 1
	
		10 = TEXT
		10 {
			stdWrap.wrap = <h2>|</h2>
			value = {field : header}
			value.insertData = 1
		}
	
		20 = FILES
		20 {
			references {
				table = tt_content
				uid.data = uid
				fieldName = assets
			}
			renderObj = IMAGE
			renderObj {
				wrap = <span class="ce-textpic ce-float-image"> | </span>
				# No idea what the difference is:
				# file.import.data = file:current:originalUid 
				file.import.data = file:current:publicUrl
				altText.data = file:current:alternative
			}
		}
			
		30 = TEXT
		30 {
			value = {field : bodytext}
			value.insertData = 1
			stdWrap.parseFunc = < lib.parseFunc_RTE
		}
	}
	
	90 = COA
	90 {
		wrap = <div class="teaser_box">|</div>
		10 = COA
		10 {
			stdWrap.required = 1
			stdWrap.outerWrap.cObject = TEXT
			stdWrap.outerWrap.cObject.value = <div class="teaser_img">|</div>
			
			10 = FILES
			10 {
				references {
					table = tt_content
					uid.data = uid
					fieldName = assets
				}
				renderObj = IMAGE
				renderObj {
					file.import.data = file:current:originalUid
					file.width = 275
					file.height = 187
					altText.data = file:current:alternative
				}
			}
		}
		20 = COA
		20 {
			wrap = <div class="teaser_text">|</div>
			
			10 = TEXT
			10 {
				value.field = header
				wrap = <h3>|</h3>
			}
			20 = TEXT
			20 {
				value.field = bodytext
				stdWrap.parseFunc = < lib.parseFunc_RTE
			}
		}
		30 = TEXT
		30 {
			dataWrap = <a class="link_read_more" href="?id={field : header_link}">mehr erfahren</a>|
			dataWrap.insertData = 1
		}
	}
}

Aber hier müsste ich wissen, wie ich das "normale" normale Rendering in meinen CASE bekomme. Denn auch wenn ich dort die layout "0" Variante habe, die auch für normalen Text ganz gut funktioniert, so hört das Ding spätestens bei Extensions (etc.) auf zu funktionieren.

Kann mir jemand einen Tipp geben, wie ich da weiterkommen kann? Bin schon eine ganze Weile verzweifelt am Suchen, aber finde einfach keine gute Lösung.

Vielen liebe Dank für die Antworten, die Ihr mir geben könnte schonmal im Voraus
Gerald



More information about the TYPO3-german mailing list