[Frage] Constants/Setup als lib aufrufen TYPO3-Version: 8.7.9

  • MaDi89 MaDi89
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    24. 07. 2019, 17:17

    Guten Tag,

    ist es irgendwie möglich, den Inhalt von Konstanten in eine Library zu übergeben?

    Beispiel:

    lib.farbe = ...
    lib.farbe {
    plugin.farbe.css = pfad-zur-datei/datei.css
    }

    Diese Library möchte ich dann im Fluid-Template je nach Bedingung aufrufen.

    <f:if condition="{variable} == pink">
    <f:cObject typoscriptObjectPath="lib.farbe" />
    </f:if>

    --------------

    Das Farb-Beispiel dient nur zur Veranschaulichung ;)


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2854 Beiträge
    106 Hilfreiche Beiträge
    25. 07. 2019, 14:30

    Ich kann Deinem Beispiel nicht ganz folgen...

    In ein TypoScript-Objekt kannst Du (TypoScript-)Konstanten einsetzen:

    Constants:
    sunYellow = f39f18

    Setup:
    lib.farbe = TEXT
    lib.farbe.value = {$sunYellow}

    In Fluid kann jedes beliebige lib-TypoScript-Objekt eingebunden werden.

  • MaDi89 MaDi89
    T3PO
    0 x
    15 Beiträge
    0 Hilfreiche Beiträge
    25. 07. 2019, 14:48

    Hallo Julian,

    vielen Dank für deine Antwort.

    Mir geht es eher darum, dass ich eine Konfiguration welche ich mittels Setup definiere in Librarys auslagern und je nach Fluid-Bedingung die richtige Config laden möchte.

    Beispiel:

    <f:if condition="{warenkorb_kg} >= 10">
    <f:cObject typoscriptObjectPath="lib.shopportokosten_highprice" />
    </f:if>
    <f:if condition="{warenkorb_kg} < 10">
    <f:cObject typoscriptObjectPath="lib.shopportokosten_lowprice" />
    </f:if>

    -------------
    Schlechtes Beispiel ;)

    lib.shopportokosten_highprice {
    tx_shopsystem.portokosten = 6
    }

    lib.shopportokosten_lowprice {
    tx_shopsystem.portokosten = 2
    }

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    2854 Beiträge
    106 Hilfreiche Beiträge
    20. 08. 2019, 12:16

    Sorry, hatte den Thread etwas aus den Augen verloren...

    Sofern Deine TS-Objekte vollständig sind, sollte das funktionieren.

    lib.shopportokosten_highprice = TEXT
    lib.shopportokosten_highprice.value = 6

    Entscheidend ist, dass das, was Du als typoscriptObjectPath angibst, auch ein Content Object ist, d.h. 'TEXT' odgl. (https://docs.typo3.org/m/typo3/reference-typoscript/9.5/en-us/ContentObjects/Index.html).
    In Deinem Beispiel ist es nur eine Datenhalde, mit der TYPO3 nichts anzufangen weiß, d.h. unbekannt ist, wie der Inhalt ausgegeben werden soll.

  • 1