Hallo,
ich beschäftige mich erst seit kurzem mit Typo3 / Fluid und bin gerade dabei, ein Formular zu validieren.
Die Fehlermeldungen sollen als Tooltip (in Verbindung mit Bootstrap) angezeigt werden.
Das Textfeld sieht folgendermaßen aus:
<f:form.textfield class="form-control input-xs" placeholder="Vorname *" id="firstName" name="firstName" value="{data.firstName}" additionalAttributes="{data-toggle: 'tooltip', data-placement:'right'}" title="{error->f:for(each: validationErrors.firstName, as: 'error')}" />
Die Fehlermeldung für den Tooltip steht im title und wird per for-Schleife eingefügt.
Leider steht derzeit nicht die eigentliche Fehlermeldung im Tooltip, sondern nur z.B. "training.validation.firstName.empty". Ich müsste in die For-Schleife also noch ein translate unterbringen, nur habe ich keine Ahnung wie und wo?
Kann mir hier jemand weiterhelfen?
Vielen Dank schon mal im Voraus
Johannes
Dazu brauchst du innerhalb von f.for noch ein f.translate, soweit alles richtig erkannt.
Ein Beispiel gibt es hier: http://wiki.typo3.org/Extbase_und_Fluid_FAQ#Can_ViewHelpers_be_nested.3F
Das hab ich mir eh schon angeschaut, leider weiß ich nicht genau, an welcher Stelle ich translate einsetzen soll. Habe es so
title="{{f:translate(key: error)}->f:for(each: validationErrors.firstName, as: 'error')}"
und so probiert
title="{error->f:for(each: validationErrors.firstName, as: {f:translate(key: 'error')})}"
Leider beide male ohne Erfolg... Ist die Syntax falsch?
Die komplette Schleife kann ich ja nicht translaten, da dies bei mehreren Fehlermeldungen nicht mehr funktionieren würde, nehme ich an.
Der Hinweis you'll have to take care of the correct escaping wurde in deinen Beispielen nicht berücksichtigt.
Müsste doch in diesem Fall egal sein, oder? Ich verwende aussen " und innen '. Aber auch wenn ich escape, funktioniert es leider nicht...
Könntest Du mir sagen, welche der beiden Varianten denn eigentlich die richtige wäre?