Plugins in GridElement scheinbar ohne Flexform-Settings

Falls jemand so wie ich einige Stunden (ok, ich übertreibe etwas) an diesem Problem verzweifeln sollte. Ich habe eine 3-spaltiges GridElement, das ich gemäß der aktuellsten Vorgabe mit dem DataProcessor umgesetzt habe. Übrigens ist die Dokumentation an dieser Stelle falsch.

Dort heißt es:

This is the default TypoScript setting provided while including the special Gridelements w/DataProcessing setup in your TS template editor:

lib.gridelements.defaultGridSetup =< lib.contentElement
lib.gridelements.defaultGridSetup {
[...]

Das Objekt lib.gridelements.defaultGridSetup gibt es nicht. Es wird tt_content.gridelements_pi1 hinzugefügt, der Rest der Angaben in der Dokumentation stimmt soweit.

Nun hatte ich also in einer Spalte ein Plugin mit ein paar Einstellungen, die über ein Flexform vorgenommen werden. In der "normalen" Content-Spalte funktioniert alles - meine Einstellungen werden im Frontend entsprechend ausgewertet. In einer Spalte in diesem GridElement hingegeben nicht - ich bekam in meinem Fall gar keine Ausgabe. Zum Glück bin ich zufällig über einen Issue gestolpert. Das Problem ist, dass der GridChildrenProcessor in Standardfall das Feld pi_flexform der Kinder parst und dabei in ein Array umwandelt. Wenn man die Inhalte der Spalte wie folgt ausgibt, dann wird die Eingabe im Feld pi_flexform nochmal verarbeitet.


Da es ja kein String mit XML-Inhalten, sondern ein Array ist, werden die Settings nicht ausgelesen und im Frontend nicht intepretiert. Das liegt an der Einstellung resolveChildFlexformData, die per default 1 ist. In diesem Issue wird vorgeschlagen, den Wert von resolveChildFlexformData per Default auf 0 zu setzen. Um breaking changes zu vermeiden, wird entschieden, diesen Wert wie vorher zu belassen, d.h. auf 1.

In meinem Fall ist die Lösung somit, diese Einstellung auf 0 zu setzen.

tt_content.gridelements_pi1.dataProcessing.10.default.options.resolveChildFlexFormData = 0

2 Kommentare

  1. Vielen vielen Dank dafür!!!
    Mit ist es genau so gegangen:
    Nachdem ich „einige Stunden (ok, ich übertreibe etwas) an diesem Problem verzweifelt“ habe und dann mein Problem i der TYPO3-Facebook-Gruppe geschildert habe und von Arne-Kolja Bachstein auf Deine Lösung hingewiesen wurde, klappt es bei mir nun auch so wie es sollte!

  2. Hallo Natalia,
    super, vielen Dank. Ich hatte die Lösung schon mal, aber nun hatte ich sie nicht mehr gefunden. Es ist immer nur von “ resolveFlexFormData = 0″ zu lesen. Das half aber nicht. Die Option „resolveChildFlexFormData“ fehlt in der gridelements-Dokumentation :-/
    Danke für den Hinweis. Es klappt. Ich werde es auch bei mir auf der Seite vermerken, es sei denn Ihr habt was dagegen.
    Viele Grüße
    Martin