Zum Inhalt springen

[Fluid,TypoScript] Array übergeben und anzeigen

Erstellt am 17. Juli 2013 · 6 Antworten · letzte Antwort am 18. Juli 2013

Tags: Frage

Unbekannter Benutzer ·

Hallo,

in TypoScript habe ich ein Array, das ich mit der for-each-Schleife in Fluid ausgeben möchte. Leider klappt das nicht so wie gewollt - es wird nichts angezeigt.

Der Fluid/Html-Code:

<f:for each="{topnav}" as="el">
    <li>{el}</li>
  </f:for>

Und so erstelle ich das Array in TS:

page = PAGE
temp.topnav {
  10 = Home
  20 = Register
}
page.10 = FLUIDTEMPLATE
page.10 {
  template = FILE
  template.file = fileadmin/templates/main.html
  variables {
    topnav < temp.topnav 
  }
}

Das Problem ist, dass ich nur eine leere Ausgabe bekomme, zumindest was die Schleife an sich betrifft. Die Html-Tags vor und nach der Schleife werden ausgegeben.
Wäre schön, wenn mir da wer weiterhelfen kann.

Gruß rotkiv

emeh ·

Gib doch mal mit dem debug-Viewhelper {topnav} aus und schau dir an, was bei Fluid vorliegt. So, wie du es machst, habe ich noch nie ein Array aufgebaut, daher weiß ich nicht, ob da überhaupt ein anständiges Array im Template ankommt.

emeh ·

Wenn dein Beispiel nicht drastisch vereinfacht ist, dann handelt es sich bei dem, was du ausgeben willst, um ein Menü. Dafür gibt es spezielle TS-Objekte, mit denen du das komplette HTML für das Menü aufbauen kannst. Stichwort HMENU, nicht TEXT.

Unbekannter Benutzer ·

Danke für den Hinweis aber HMENU ist mir als solches bekannt. Ich bin gerade dabei, meine Seite von Typo3 4.7 auf 6.1 umzustellen und wechsle dabei auch von Templa Voila auf Fluid. Also ist mir der Teil eher Neu.
Ich dachte nun, dass ich vll. den Html-Teil aus TypoScript entfernen und eben durch Fluid abbilden kann. Daher auch mein Versuch, hier nicht HMENU zu verwenden, sondern ein einfaches Array, welches dann im Fluid-Template mit HTML strukturiert wird. Damit wollte ich dann TypoScript an sich nur noch zur Konfiguration, aber nicht der Generierung von Anzeigeelementen verwenden. Dieser Teil sollte dann im Fluid-Template passieren. Wäre dies wie beschrieben sinnvoll?

Unbekannter Benutzer ·

Danke, das ist sogar noch ein wenig mehr als ich wollte 🙂
Die Extension war mir bei der Suche auch schon aufgefallen, zunächst wollte ich sie aber wegen der Komplexität vermeiden. Nun habe ich sie mir doch einmal genauer angeschaut und habe das Einführungspaket zum Laufen bekommen. Leider ist die Doku nicht sehr Einsteiger-freundlich, zumindest bei dem Teil, wo es um das Einbinden in Typo3 geht. Bis auf die besagten Einführungspakete habe ich dazu leider nicht sehr viel gefunden. Daher ist mir jetzt nicht klar, ob die Fluid-Erweiterung jetzt nur über eine T3-Extension funktioniert, oder ob das eben nur zu Demo-zwecken so gemacht wurde und bei der eigenen Einbindung dann direkt über den Template-Editor gemacht werden soll. Würde mich diesbzgl. nochmal über einen Hinweis freuen (oder vll. sogar ein Tut/Doku, die das beschreibt). Vom Prinzip her macht die Extension ja nichts anderes als ein Standard-Setup und Konstanten zu laden. Dann werden aber auch noch zusätzlich einige php-Methoden bereitgestellt.