Hallo Forum,
folgende Problem: Der Kunde will für jedes Content Element ein eigenes Layout auswählen können.
In der TS Config hab ich folgenden Eintrag gemacht:
TCEFORM.tt_content.layout.addItems.4 = Darkgreen
TCEFORM.tt_content.layout.addItems.5 = Orange
TCEFORM.tt_content {
layout.altLabels.0 = Default
layout.altLabels.1 = Blue
layout.altLabels.2 = Pink
layout.altLabels.3 = Lightgreen
layout.altLabels.4 = Darkgreen
layout.altLabels.5 = Orange
}
im Setup dann die Subparts angepasst:
page.10.subparts {
firstBox<styles.content.get
firstBox.select.where = colPos = 21
firstBox.slide = -1
firstBox.renderObj.stdWrap.wrap.cObject=CASE
firstBox.renderObj.stdWrap.wrap.cObject{
key.field = layout
default=TEXT
default.value=<div class="none">|</div>
1=TEXT
1.value=<div class="blue">|</div>
2=TEXT
2.value=<div class="pink">|</div>
3=TEXT
3.value=<div class="lightgreen">|</div>
4=TEXT
4.value=<div class="darkgreen">|</div>
5=TEXT
5.value=<div class="orange">|</div>
}
}
Funktioniert soweit auch super, nur wenn ich einen Datensatzverweis einfügen will, wird der nicht eingebunden. Die Div-Box bleibt leer:
<div class="pink">
<div class="csc-default" id="c1328"></div>
</div>
Das Komisch ist, dass es bei Default & Blue funktioniert, hier wird der Inhalt eingebunden:
<div class="blue">
<div class="csc-default" id="c1326">
<div class="csc-default" id="c1234">... Inhalt vom Verweis ...</div>
</div>
</div>
Hat jemand eine Idee, damit das bei allen Layouts funktioniert?
Hallo.
Für machne layout-Werte passt es? D.h. Du hast ein Inhaltselement "Insert Records" angelegt, und diesem nacheinander unterschiedliche layout-Werte gegeben? Und dabei hat es mal funktioniert, mal nicht? o.O
Eine Idee wäre gewesen, dass Du die Bedingung colPos=21 mit reingenommen hast. Damit überschreibst Du die colPos=0-Bedingung aus styles.content.get, was evtl. bei eingefügten Records sich irgendwie auswirken könnte.
Viele Grüße
Julian
Julian.Hofmann schrieb
Für machne layout-Werte passt es? D.h. Du hast ein Inhaltselement "Insert Records" angelegt, und diesem nacheinander unterschiedliche layout-Werte gegeben? Und dabei hat es mal funktioniert, mal nicht? o.O
Es funktioniert immer mit den Layouts Default & Blue, also den altLabel Ids 0 & 1, egal welche colPos der einbindende Div oder der Record haben. Bei allen anderen Layouts funktioniert es nie.
Die Lösung/Ursache liegt in Core-Funktionalitäten. TYPO3 (bzw. css_styled_content) verwendet selber das Feld "layout" für sich (und unterscheidet nach 0 und 1) . Folglich kollidiert Deine Verwendung mit der von TYPO3.
Hierzu der Ausschnitt aus dem statischen TS von CSS styled content:
# ****************
# CType: shortcut
# ****************
# Should be a complete copy from the old static template "content (default)"
tt_content.shortcut = COA
tt_content.shortcut {
20 = CASE
20.key.field = layout
20.0= RECORDS
20.0 {
source.field = records
tables = {$content.shortcut.tables}
# THESE are OLD plugins. Modern plugins registers themselves automatically!
conf.tt_content = < tt_content
conf.tt_address = < tt_address
conf.tt_links = < tt_links
conf.tt_guest = < tt_guest
conf.tt_board = < tt_board
conf.tt_calender = < tt_calender
conf.tt_rating < tt_rating
conf.tt_products = < tt_products
conf.tt_news = < tt_news
conf.tt_poll = < plugin.tt_poll
}
20.1= RECORDS
20.1 {
source.field = records
tables = {$content.shortcut.tables}
conf.tt_poll = < plugin.tt_poll
conf.tt_poll.code = RESULT,SUBMITTEDVOTE
}
20.stdWrap {
editIcons = tt_content: records
editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList
prefixComment = 2 | Inclusion of other records (by reference):
}
}