[TYPO3-german] Probleme mit dynam. Inhaltsformatierung durch header_layout

Ralf Hettinger ng at ralfhettinger.de
Mon Oct 8 11:22:14 CEST 2007


Hallo Björn,

das renderObj ist ein TYPOSCRIPT-Konstrukt, das zum Rendern einzelner Datensätze
verwendet wird, die aus der Datenbank kommen.


Folgendes Beispiel macht es wohl leichter (es schreibt einfach alle Titel von
Inhaltselementen der Seite mit ID 10 hintereinander) :

styles.content.exampleget = CONTENT
styles.content.exampleget {
        table = tt_content

	## normalerweise steht hier bei styles.content.get
	## eine Referenz auf die aktuelle Page-ID
        select.pidInList = 10
        select.orderBy = sorting
        select.where = colPos=0
        select.languageField = sys_language_uid

	## normalerweise steht hier bei styles.content.get
	## renderObj < tt_content
	renderObj = TEXT
	renderObj.field = title
}


Ich denke, Dein TYPOSCRIPT soll Inhaltselemente aus der linken Spalte holen und
dann je nach Header-Layout mit einem DIV belegen. Dann sind aber die IDs Deiner
DIVs recht missverständlich ... und ich seh darin auch nicht viel Sinn. Aber
naja, was weiß ich schon? ;)

Nachfolgend eine Anpassung, die das realisiert:


marks {
[...]
	LEFT = CASE
	LEFT < styles.content.getLeft
        LEFT {

		## renderObj wird geloescht,
		## war nach styles.content.getLeft das Objekt tt_content .
		## Erst hier steht header_layout aus tt_content zur Verfuegung
		renderObj >
		renderObj = CASE
		renderObj {
                	key.field = header_layout
			default < tt_content
			default.stdWrap.wrap = <div id="column-right"> | </div>
			0 < tt_content
			0.stdWrap.wrap = <div id="column-right"> | </div>
			1 < tt_content
			1.stdWrap.wrap = <div id="column-normal"> | </div>
		}
	}
}
[...]


Grüße
Ralf


Bjoern.Berg at pem.nrw.de schrieb:
> Hallo Ralf,
> 
> Könntest Du mir im Zusammenhang mit meinem TS-Ausschnitt sagen, wie er geändert werden muss?
> Ich bin in der Typo3-Thematik noch ziemlich neu und habe zwar schon den Begriff renderObj gelesen, aber noch nicht so ganz kapiert wofür das gut sein soll, geschweige denn mal Hintergrundinformationen dazu gefunden.
> 
> Grüße, Björn
> 
> 
>>das Problem an Deinem TS-Ausschnitt ist, dass header_layout 
>>für das von Dir verwendete CASE-Object nicht als Feld für eine 
>>Fallunterscheidung zur Verfügung steht (header_layout wird mit 
>>den anderen Feldern aus tt_content erst mit 
>>styles.content.getLeft geladen).
>>
>>Ohne genauer zu wissen, was Du vorhast, wäre der richtigere 
>>Ansatzpunkt bezogen auf Dein Beispiel 0.renderObj und 
>>1.renderObj (das sind mit stlyes.content.getLeft eben die 
>>Vordefinitionen von tt_content aus dem TS-Objektbaum). Hier 
>>kannst Du Fallunterscheidungen nach header_layout anwenden, da 
>>erst hier das Feld header_layout aus der Datenbank gelesen ist.


More information about the TYPO3-german mailing list