Zum Inhalt springen

Content Element - Normal, Layout 1, Laoyut 2 etc.

Erstellt am 21. Oktober 2005 · 4 Antworten · letzte Antwort am 28. Oktober 2005

Tags: Frage

cracy ·

Hallo Zusammen,

Wenn ich ein neues Content Element erfasse (z.B. Normaler Text), so kann ich ja einstellen ob dieses vom Typ Normal, Layout 1, Layout 2 ... 5 oder Versteckt ist.

Nun möchte ich in meinem TypoScript Setup je nach dem was gewählt wurde, den Content anderst ausgeben.

Mein Ansatz ist:

# Boxen in der rechten Spalte ausgeben
INHALT = COA
INHALT {
        10 = CONTENT
            10 {
                table = tt_content
                select {
                    orderBy = sorting
                    where = colPos = 2

                }
                renderObj < tt_content
                renderObj.stdWrap.wrap (
                                 [globalVar = TSFE:page|layout = 1]
                        <div class="box">|</div>
                                 [else]
                                    <div class="box_typeHeader">|</div>
                                 [end]
                )
                renderObj.stdWrap.required = 1
            }
        20 < lib.newsLatest
}

Allerdings funktioniert das überhaupt nicht. Soweit ich weis kann man die [global...] Abfrage nicht in geschweiften Klammern benutzen. Desweitern könnte ich so ja nur zwischen 2 Layout Typen unterscheiden.

Mein zweiter Versuch:

  # Inhalt ausgeben
    INHALT = CASE
        INHALT.key.field = layout
        INHALT.default = CONTENT
            INHALT.default {
                table = tt_content
                select {
                    orderBy = sorting
                    where = colPos = 0
                }
            }
        INHALT.1 = CONTENT
        INHALT.1 {
            table = tt_content
            select {
                orderBy = sorting
                where = colPos = 0
            }
            renderObj < tt_content
            renderObj.stdWrap.wrap (
                <div class="box">|</div>
            )
            renderObj.stdWrap.required = 1
        }

        INHALT.2 = CONTENT
        INHALT.2 {
            table = tt_content
            select {
                orderBy = sorting
                where = colPos = 0
            }
            renderObj < tt_content
            renderObj.stdWrap.wrap (
                <div class="box_typeHeader">|</div>
            )
            renderObj.stdWrap.required = 1
        }

der zweite Versuch hat allerdings auch zu nichts geführt!

Kann mir da jemand weiterhelfen?!

Gruss Roger

PS: Was auch noch ganz schön währe, wenn man die Typen umbenennen könnte... also aus Layout1 wird Box, aus Layout2 HeaderBox etc. Weis jemand wie das funktioniert?

cracy ·

Kann mir denn niemand Helfen? Habe ich meine Frage unverständlich formuliert?
Ich bin am Ende mit meinem Typo3 Latein!

Gruss Roger

cracy ·

hallo nex,

ja, ich verwande den htmlarea RTE. Mit folgender Code-Zeile teilst du ihm das CSS File, in welchem deine Klassen liegen mit:

RTE.default.contentCSS = fileadmin/css/rte.css

Das Funkioniert super. Es ist auch für die Redakteure unglaublich konfortabel, da sie das ergebnis direkt im RTE betrachten können.

Gruss Roger