[Frage] f:condition mit f:cObject TYPO3-Version: -

  • wini2 wini2
    Jedi-Meister
    0 x
    286 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2018, 19:16

    hallo,

    ich versuche verzweifelt den in der DB eingtragen wert der bildausrichtung in einer codition abzufragen; heißt: wenn es eine beschreibung gibt und die ausrichtung einen bestimmten wert annimmnt, soll was passieren.

    da man offensichtlich nicht direkt via fluid an den wert, der im feld imageorient eingetragen ist kommt, bin ich den umweg über folgendes ts gegangen.

    lib.imageorient = TEXT
    lib.imageorient {
    dataWrap = DB:{TSFE:currentRecord}:imageorient
    #wrap3 oder outerWrap, weil dieser erst nach dataWrap ausgeführt wird, präfix für bootstrap-klasse (z. b. text-center)
    wrap3 = {|}
    #falls default (d.h. leer), nicht text- ausgeben
    wrap3.required = 1
    insertData = 1
    }


    liefert auch den korrekten wert.

    im partial versuche ich nun eine codition zu verwenden, um imagorient zu berücksichtigen (z. B. für oben mittig).

    <f:if condition="{file.description} && {data -> f:cObject(typoscriptObjectPath: 'lib.imageorient')} == 8">

    leider interessiert sich das partial überhaupt nicht dafür

    natürlich geht der 'einfache weg' über data.imageorient, data.settings.imageorient etc. auch nicht, z. b.
    <f:if condition="{file.description} && {data.imageorient} == 8">

    wäre dankbar, wenn jemand einen tipp für mich hat.


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2888 Beiträge
    107 Hilfreiche Beiträge
    16. 07. 2018, 10:58

    In welchem Partial arbeitest Du?

    Haben eben mal in typo3_src/typo3/sysext/fluid_styled_content/Resources/Private/Partials/Media/Type.html ein debug auf {data} gemacht. Dort steht die Information zu imageorient.

    Folgende Test-Änderung zeigt auch eine korrekte Verabeitung der Info in einer Condition:
    [code]<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
    <f:if condition="{data.imageorient} == 2">
    <pre>imageorient == 2</pre>
    </f:if>
    <f:switch expression="{file.type}">
    <f:case value="3">
    <f:render partial="Media/Type/Audio" arguments="{file: file, dimensions: dimensions, data: data, settings: settings}" />
    </f:case>
    <f:case value="4">
    <f:render partial="Media/Type/Video" arguments="{file: file, dimensions: dimensions, data: data, settings: settings}" />
    </f:case>
    <f:defaultCase>
    <f:render partial="Media/Type/Image" arguments="{file: file, dimensions: dimensions, data: data, settings: settings}" />
    </f:defaultCase>
    </f:switch>
    </html>[/code]

    (getestet in TYPO 8.7.19)

  • 1