Hallo,
Wir arbeiten momentan an einer kleinen Extension. Dabei soll man Einträge bewerten können. Bewertet wird mit verschiedenen Kriterien, bei denen man 1 - 5 Punkte vergeben kann.
Das (vereinfachte) Datenmodell sieht wie folgt aus:
class Entry {
protected $name;
...
protected $ratings;
}
class RatingCriterion {
protected $name;
protected $description;
}
class Rating {
protected $entry;
protected $user;
protected ratingValues;
}
class RatingValue {
protected $criterion;
protected $value;
}
Nun möchte ich FLUID ein leeres Rating-Objekt übergeben, dieses beim Absenden des Formulars gefüllt zurückerhalten und direkt speichern.
Allerdings weiss ich nicht ob bzw. wie es möglich ist die einzelnen RatingValues per GET/POST übergeben, sodass Extbase mir diese als Collection(ObjectStorage) des Rating-Objekts erkennt.
Etwa so:
<f:form method="post" action="create" object="newRating" name="newRating">
<f:for each="{ratingCriterions}" as="ratingCriterion">
<label>{ratingCriterion.name}</label>
<f:form.radio property="newRating.ratingValues[].value" value="5" />
<f:form.radio property="newRating.ratingValues[].value" value="4" />
<f:form.radio property="newRating.ratingValues[].value" value="3" />
<f:form.radio property="newRating.ratingValues[].value" value="2" />
<f:form.radio property="newRating.ratingValues[].value" value="1" />
</f:for>
</f:form>
Vielen Dank für eure Hilfe 😉