Zum Inhalt springen

Shortcut mit Element-Layout

Erstellt am 8. November 2015 · Noch keine Antworten

Tags: Frage

ragn45 ·

Hallo,

ich habe verschiedene Element-Layouts für das Element "Text & Bilder " angelegt.

Ich habe jetzt einen Datensatz angelegt, der das Element-Layout "100" hat.

Diesen Datensatz möchte ich jetzt per "Datensatz einfügen" an einer anderen Stelle mit dem Layout "101" anzeigen.

Beim Erstellen des Shortcuts kann ich das Layout angeben, aber gerendert wird es immer mit dem Layout des ursprünglichen Datensatzes.

Da ich beim Erstellen des Shortcuts das Layout angeben kann, gehe ich davon aus, dass mein Vorhaben theoretisch funktionieren sollte.
Bei der praktischen Umsetzung komme ich leider nicht weiter und bitte deshalb um Eure Hilfe.

Mein Typoscript sieht momentan so aus:

# *****************
# CType: textpic
# *****************
tt_content.textpic = COA
tt_content.textpic {

	1 = CASE
	1 {
		key.field = layout
		
		########################
		### Layout: Standard ###
		########################

		default = COA
		default {
			10 = COA
			10.if.value = 25
			10.if.isLessThan.field = imageorient
			10.10 = < lib.stdheader

			20  = < tt_content.image.20
			20 {
				text.10 = COA
				text.10 {
					if.value = 24
					if.isGreaterThan.field = imageorient
					10 = < lib.stdheader
					10.stdWrap.dataWrap = <div class="csc-textpicHeader csc-textpicHeader-{field:imageorient}">|</div>
				}
				text.20 = < tt_content.text.20
				text.wrap = <div class="csc-textpic-text"> | </div>
			}
		}
		
		###################
		### Layout: 100 ###
		###################
		
		100 = COA 
		100 {
			10 = TEXT
			10 {
				field = header
				wrap = <h2 class="layout100" style="color:red;">|</h2>
			}
			
			20 = TEXT
			20 {
				field = bodytext
				wrap = <p class="layout100">|</p>
			}
		}
		
		###################
		### Layout: 101 ###
		###################
		
		101 = COA 
		101 {
			10 = TEXT
			10 {
				field = header
				wrap = <h2 class="layout101" style="color:blue;">|</h2>
			}
			
			20 = TEXT
			20 {
				field = bodytext
				wrap = <p class="layout101">|</p>
			}
		}
	}
}

Ich habe schon Verschiedenstes probiert, aber es hat bis jetzt noch nichts ansatzweise funktioniert :-(.

20 = CASE
20 {
	
	[...]
	

	101 = RECORDS
	101 {
		source.field = records
		tables = {$content.shortcut.tables}
		# hier ist noch das Layout vom Shortcut -> layout101-101
		# der Record wird aber im Layout "100" gerendert
		wrap = <span class="layout101-{field:layout}">|</span>
		wrap.insertData = 1
	}
}

So gehts auch nicht

10 = RECORDS
10 {
	source.field = records
	tables = tt_content
	
	conf.tt_content = CASE
	conf.tt_content {
		key.field = CType
		textpic < tt_content.textpic
		# hier wird das Layout "100" verwendet
		textpic.wrap = <div class="textpic-{field:layout}">|</div>
		textpic.wrap.insertData = 1
		
	}
}

Was ich erreichen möchte:
Für einen Adventskalender möchte ich pro Tag ein Element anlegen.
Da die abgelaufenen Elemente an einer anderen Stelle angezeigt werden sollen, möchte ich dafür einfach einen Shortcut anlegen, der dann natürlich in einem anderen Layout angezeigt werden soll.

Irgendwelche Tipps, Ideen, Anregungen???

Danke für's "durchhalten" bis hierher :-)

Viele Grüße
ragn45