[Frage] frame_class mit mehreren Klassen versehen (TYPO3 v 11.5.13) TYPO3-Version: 11.5.6

  • wtdesign wtdesign
    T3PO
    0 x
    15 Beiträge
    1 Hilfreiche Beiträge
    18. 08. 2022, 08:24

    Hallo zusammen,

    im Backend kann man pro Inhaltselement eine frame_class vergeben, die man zuvor im TsConfig definiert hat.

    [code]TCEFORM.tt_content.frame_class {
    removeItems= ruler-before,ruler-after,indent,indent-left,indent-right
    addItems.test = Test
    addItems.neu = Neu
    }
    [/code]

    Alles schön und gut. Nur bräuchte ich tatsächlich di Möglichkeit mehrere Klassen in einer frame_class Definition unterzubringen, da ich nicht im Bereich von Fluid einfach den Klassennamen abändern kann.

    Es sollte dann zum Beispiel aussehen wie folgt:
    [code]TCEFORM.tt_content.frame_class {
    removeItems= ruler-before,ruler-after,indent,indent-left,indent-right
    addItems.test secondClass = Test
    addItems.neu.secondClass = Neu
    }
    [/code]

    Beide Versionen funktionieren aber leider nicht, weshalb ich gedacht habe, dass man das evtl so lösen könnte wie früher. Aber auch das funktioniert nicht.

    [code]tt_content.stdWrap.innerWrap.cObject.test =< tt_content.stdWrap.innerWrap.cObject.default
    tt_content.stdWrap.innerWrap.cObject.test.20.10.value = test secondClass

    tt_content.stdWrap.innerWrap.cObject.neu =< tt_content.stdWrap.innerWrap.cObject.default
    tt_content.stdWrap.innerWrap.cObject.neu.20.10.value = neu secondClass
    [/code]

    Dann habe ich versucht eine Fluid-If-Condition ins TypoScript Setup zu schreiben, aber auch das hat NICHT funktioniert.

    Aber auch das funktioniert nicht.

    [code]tt_content.stdWrap.innerWrap.cObject = CASE
    tt_content.stdWrap.innerWrap.cObject {
    key.field = layout
    default = TEXT
    default.value = <div id="wt{field:uid}" class="layout-{field:layout} {f:if( condition: '{field:frame_class}==test', then: 'xx', else: 'cc' )}">|</div>
    }
    tt_content.stdWrap.innerWrap.insertData = 1
    [/code]

    Langsam gehen mir die Ideen aus. Wichtig ist, dass ich es bereits in dem Wrap benötige, welchen ich im letzten Code-Schnipsel erwähnt habe. Im Fluid-Template wäre das ja ein Kinderspiel.


  • 1
  • wtdesign wtdesign
    T3PO
    0 x
    15 Beiträge
    1 Hilfreiche Beiträge
    19. 08. 2022, 09:03

    Das Problem habe ich gestern anders gelöst, da ich keine Lösung finden konnte, welche mir erlaubt die CSS-Klassen im Bereich frame_class mittels Typoscript direkt mit mehreren Klassen auszustatten.

    Aus diesem Pfad -->
    /typo3_src-11.5.14/typo3/sysext/fluid_styled_content/Resources/Private/Layouts/
    habe ich mir die "Default.html" genommen und diese in unsere eigene Extension gelegt

    CONSTANTS
    styles.templates.layoutRootPath.10 = EXT:myextension/Resources/Private/fluid_styled_content/Layouts/

    SETUP
    lib.contentElement.layoutRootPaths.10 = EXT:myextension/Resources/Private/fluid_styled_content/Layouts/

    In der Default.html habe ich dann mit einfachen Fluid-If-Conditons gearbeitet. Habe dann auch den Teil fürs Wrapping je nach Layout ebenfalls in die Datei integriert und den alten Teil aus dem SETUP entfernt.

    Vllt hilft das ja jemandem weiter.

    Wenn es aber doch eine Möglichkeit im Typoscript SETUP geben sollte, würde mich diese sehr interessieren. Da man in der Default.html z. B. keine f:section und f:render-Funktion verwenden kann.

  • 1