Zum Inhalt springen

Werte aus LOAD_REGISTER als Wrap von CE's

Erstellt am 18. Juli 2007 · Noch keine Antworten

Tags: Frage

grande ·

Hallo Zusammen.

Mir raucht ganz schön der Kopf, da ich nun schon ziemlich lange a diesem Problem sitze...

Ich möchte Content-Elemente (hier jetzt nur Text) entsprechend einer ihrer Eigenschaften (tx_jrgrid_width) mit Div-Layern wrappen. Das ganze soll aber abhängig von einer Eigenschaft der Seite passieren. In der Register-Variable USEGRID befindet sich der Wert (0/1) dieser Eigenschaft. Es geht dabei lediglich um die Klassen der umschließenden Divs.

erstmal der Code (aus einem statischen Template einer Extension):

# USEGRID wird oben abh. von Seiteneigenschaft gesetzt
foo.15 = LOAD_REGISTER
foo.15.if.isTrue.data = register:USEGRID
foo.15.CONTENTWRAP0 = <div class="contentelement width0 grid">
foo.15.CONTENTWRAP1 = <div class="contentelement width1 grid">

foo.16 = LOAD_REGISTER
foo.16.if.isTrue.data = register:USEGRID
foo.16.negate = 1
foo.15.CONTENTWRAP0 = <div class="contentelement width0 nogrid">
foo.15.CONTENTWRAP1 = <div class="contentelement width1 nogrid">

foo.20 = CASE
foo.20 {
    key.field = tx_jrgrid_width
    default < tt_content.text

    0 < .default
    # Entsprechend Seiteneigenschaft entweder Grid- oder NoGrid-div einfügen
    0.stdWrap.prepend = TEXT
    # Default-Wert:
    0.stdWrap.prepend.value = <div class="contentelement width0">
    # Ueberschreiben
    0.stdWrap.prepend.override.data = register:CONTENTWRAP0             

    0.stdWrap.append = TEXT
    0.stdWrap.append.value = </div>

    1 < .default
    1.stdWrap.prepend = TEXT
    1.stdWrap.prepend.value = <div class="contentelement width1">
    1.stdWrap.prepend.override.data = register:CONTENTWRAP1              
}

tt_content.text >
tt_content.text < foo.20

Ich habe probiert, abhängig einer Register-Variablen neue LOAD_REGISTER zu erstellen, um so verschiedene Wrappings zu speichern und dann im CASE der Content-elemente auszulesen.

Das Auslesen der Register-Variablen funktioniert nur leider nicht wirklich. Da ich in der Eigenschaft .wrap keine Daten einlesen kann (oder doch?), habe ich es mit normalen Text-Elementen vor bzw. nach dem CE ausprobiert. Leider wird das .append.value nicht wie ich dachte von override.data überschrieben.

Kann mir da jemand weiterhelfen? Ich reisse mir die Haare schon büschelweise vom Kopf ;-)

Gruß,
grande