Zum Inhalt springen

LOAD_REGISTER wird nicht ersetzt?

Erstellt am 12. März 2011 · 1 Antwort · letzte Antwort am 16. März 2011

Tags: Frage

Nedec ·

Hallo,

ich versuche gerade zu verstehen, wie LOAD_REGISTER funktioniert und bekomme es einfach nicht hin... So sieht das TypoScript aus:

lib.stdheader >
lib.stdheader = COA
lib.stdheader {
  5 = LOAD_REGISTER
  5 {
    headerClass = myHeader
  }
  
  10 = CASE
  10 {
    key.field = header_layout
    default = TEXT
    default.field = header
    default.fontTag = <h1>

    2 = IMAGE
    2.file = GIFBUILDER
    2.file {
      XY = [10.w]+10, 20
      backColor = white
      
      10 = TEXT
      10.text.field = header
      10.fontColor = #061467
      10.fontSize = 15
      10.niceText = 1
      10.offset = 1, 18
    }
    
    2.wrap = <h2 class="{register:headerClass}">|</h2>
  }
}

Habe das Ganze aus dem Buch, es soll die Überschriften, die tt_content benutzt, überschreiben und funktioniert soweit auch gut. Wenn Layout 2 ausgewählt ist, zeigt es die Überschriften als Bild an.

Nur jetzt möchte ich das ganze mit <h2 class="myHeader">|</h2> umgeben, zum Üben mit LOAD_REGISTER.

Als HTML kommt aber leider nur das raus:

<h2 class="{register:headerClass}"><img src="typo3temp/GB/6b1407b83c.gif" width="212" height="20" border="0" alt="" title="" /></h2>

Was mache ich falsch?

Gruß
Nedec

Julian.​Hofmann ·

Hallo Nedec.

Das Register ansich sieht korrekt aus. Dass Dein Register nicht eingesetzt wird, liegt am simplen wrap, der das so nicht kann.

Lösung 1: dataWrap
"Wenn der Inhalt geparst wird und er {...}-Bereiche enthält, deren Inhalt vom Typ getText ist, dann werden diese mit den Ergebnis von getText ersetzt."

Lösung 2: zusätzlich zum wrap noch insertData=1 setzen
"Wenn diese Eigenschaft gesetzt ist, wird der gesamte Inhalt so wie bei »dataWrap geparst."

Viele Grüße
Julian