Zum Inhalt springen

Insert Record wird nicht angezeigt

Erstellt am 19. April 2012 · 3 Antworten · letzte Antwort am 20. April 2012

Tags: Frage

fnord ·

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?

Julian.​Hofmann ·

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

fnord ·
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.

Julian.​Hofmann ·

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):
	}
}