Fluidtemplate - Variablen [Gelöst]

  • chris_m chris_m
    T3PO
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    30. 06. 2012, 21:09

    Ich habe ein Problem mit den Variablen im Fluidtemplate (Frontend-Rendering).

    Im Fluid-Template kann man über

    1. <f:format.html>{footerText}</f:format.html>

    auf eine definierte Variable zugreifen.

    1. page = PAGE
    2. page {
    3. 10 {
    4. file = fileadmin/templates/Home.html
    5. partialRootPath = fileadmin/templates/Partials/
    6. layoutRootPath = fileadmin/templates/Layouts/
    7. variables {
    8. footerText < temp.footerText
    9. }
    10. }
    11. }
    12. temp.footerText = TEXT
    13. temp.footerTEXT.value = Beispieltext

    Dies funktioniert bei mir jedoch nicht. Greife ich direkt mit

    1. f:cObject typoscriptObjectPath="lib.subtitle" />

    auf eine TS-Object (lib statt temp) zu, funktioniert es problemlos. Wo liegt hier der (Denk- bzw. Verständnis-)Fehler?


  • 1
  • chris_m chris_m
    T3PO
    0 x
    31 Beiträge
    0 Hilfreiche Beiträge
    02. 07. 2012, 19:37

    Ich habe das Problem mittlerweile gelöst:

    Es gibt zwei Fehlerquellen:

    1) Die temp.Variable muss vor dem FLUIDTEMPLATE deklariert und gefüllt werden
    2) Die Variablen stehen in den Partials nur dann zur Verfügung, wenn sie als Argument übergeben werden. Dies kann entweder einzeln erfolgen oder für alle mit

    1. <f:render partial="header" arguments="{_all}" />

  • jank jank
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    05. 07. 2012, 11:46

    Du kannst im übrigen auch direkt aus Fluid auf TypoScript zugeifen:

    1. <f:cObject typoscriptObjectPath="temp.footerText" />

    Dabei ist zu beachten, das hierbei NICHT durch die lib.parseFunc_RTE geparsed wird.

    Desweiteren:
    Typoscript wird immer seriell abgearbeitet. D.h etwas, das Du irgendwo hinein kopierst (<) oder verwendest muss immer VORHER definiert werden.

  • 1