Zum Inhalt springen

contentelemente auf unterseite vererben

Erstellt am 17. März 2009 · 3 Antworten · letzte Antwort am 10. Juni 2009

Tags: Frage

Unbekannter Benutzer ·

hallo!

ich habe in meinem haupttemplate ein objekt "lib.teaser" vom typ "content elements.

auf der elternseite habe ich im backend dafür contentelemente angelegt. ist es möglich, dass diese contentelemente auf die unterseiten vererbt werden, sofern dort für dieses objekt keine inhalte vorhanden sind?

in deutsch: auf einer seite erscheint im bereich "teaser" bestimmter inhalt. ich will, dass dieser inhalt auch auf allen unterseite ausgegeben wird, wenn dort für diesen bereich keine inhalte angelegt wurden...

infodry ·

Oh Account gelöscht. Schade. Hätte da eine Lösung. Jemand interessiert?

Im DS nachschauen, in welcher Spalte die Inhalte gespeichert werden. Steht bei oldStyleColumnNumber.
In "Lokale Verarbeitung (XML)" das TS anpassen. (Besser hier, als im DS selbst. Sonst verwindet es bei jeder Änderung) Könnte so ausssehen:

<T3DataStructure>
	<ROOT type="array">
		<type>array</type>
		<el type="array">
			<field_rightcol type="array">
				<tx_templavoila type="array">
					<title>Rechte Spalte</title>
					<eType>ce</eType>
					<TypoScript><![CDATA[
			10 < lib.rightCol
                    ]]></TypoScript>
					<oldStyleColumnNumber type="integer">5</oldStyleColumnNumber>
				</tx_templavoila>
			</field_rightcol>
		</el>
	</ROOT>
</T3DataStructure>

Nun im normalen TS-Setup

// Content aus der richtigen Spalte ziehen und in ein Objekt packen
styles.content.myContent = CONTENT
styles.content.myContent {
	table = tt_content
	select.orderBy = sorting
	select.where = colPos=5 // DIE ZAHL AUS DEM DS
	select.languageField = sys_language_uid
}

// hier werden die Inhalte der Spalte vererbt. Die Lösung habe ich mal wo anders gesehen 
// ... weiß nicht mehr wo
lib.rightCol = COA 
lib.rightCol { 
   11 < styles.content.myContent 
   11.renderObj.stdWrap.wrap = <div>|</div>
   11.stdWrap.ifEmpty.cObject < styles.content.myContent
   11.stdWrap.ifEmpty.cObject { 
stdWrap.ifEmpty.cObject < styles.content.myContent 
stdWrap.ifEmpty.cObject { 
stdWrap.ifEmpty.cObject < styles.content.myContent 
stdWrap.ifEmpty.cObject {
stdWrap.ifEmpty.cObject < styles.content.myContent 
stdWrap.ifEmpty.cObject {
select.pidInList.data = leveluid:-5
renderObj.stdWrap.wrap = <div>|</div>
}
select.pidInList.data = leveluid:-4
renderObj.stdWrap.wrap = <div>|</div>
}	
select.pidInList.data = leveluid:-3
renderObj.stdWrap.wrap = <div>|</div>
} 
select.pidInList.data = leveluid:-2
renderObj.stdWrap.wrap = <div>|</div>
}
}

Wie zu sehen geht das nur bis zur 5. Ebene. Lässt sich aber leicht erweitern.