Zum Inhalt springen

renderObj und CASE für einen Wrap mit Bedingung

Erstellt am 22. April 2017 · 2 Antworten · letzte Antwort am 23. April 2017

Tags: Fluid, TYPO3 7, Frage

Kesandal ·

Guten Abend zusammen,

ich habe mir im Backend zwei Layouts für eine Seite angelegt:
.
.

TCEFORM {
    tt_content {
        layout {
            addItems.100 = layout1
            addItems.101 = layout2
        }
    }    
}

.
Je nach Auswahl möchte ich in meinem content-Bereich einen Wrap mit einer anderen CSS-Klasse machen.
.
Der "Hauptbereich"
.

template.t1 = FLUIDTEMPLATE
template.t1 {
    # ....
    variables {
       content.select.where = colPos = 1
       content.renderObj < contentR.wrap
    }
    # ...
}

.
.
und mein renderObj (zurzeit).
.

contentR.wrap {
    stdWrap {
        outerWrap = |</div>
        outerWrap {
            stdWrap {
                prepend = TEXT
                prepend {
                    field = header
                    wrap = <div class="layout1"><h3>|</h3>
                    required = 1
                }
            }
        }
        wrap = |
    }
}

.
.
Meine Frage an Euch,
wie kann ich dort eine Fallunterscheidung mit einem CASE machen?
.
Folgendes Snippet habe ich im Internet gefunden, jedoch ist die allgemein. Ich möchte es nur auf meinen "( Haupt ) content" beschränken
.
.

tt_content.stdWrap.innerWrap.cObject = CASE
    tt_content.stdWrap.innerWrap.cObject {
        key.field = layout
        1 = TEXT
        1.value = <div class="csc-default klasse1">|</div>

        2 = TEXT
        2.value = <div class="csc-default klasse2">|</div>
    }

.
.
Vielen Dank im Voraus

Teisinger ·

hmm ich bin der meinung html gehört seit fluid auch in fluid-templates 🙂
also schreib in deinem TS unter variables dies:

layout = TEXT
layout.data = levelfield:-1,backend_layout_next_level,slide
layout.override.field = backend_layout

dann hast du in deinen FluidTemplates die variable als {layout} zur verfügung und kannst damit abprüfungen machen oder was du sonst noch willst...

Teisinger ·

achso sollte ich vielleicht noch dazusagen das steht dann etwa so:

<f:if condition="{layout} == 'pagets__1'">