77 Stimmen

FLOW3-Aktionsparameter und Arrays von Objekten

FLOW3 bietet eine bequeme Möglichkeit, Entitäten nach ID in der URL zu übergeben und sie automatisch in den Parametern der Controller-Aktion zu instanziieren:

class PostController extends \TYPO3\FLOW3\MVC\Controller\ActionController {
    public function editAction(Post $post) {
        ...
    }
}

Aber was ist mit dem Anwendungsfall, in dem Sie Kontrollkästchen haben, die jeweils ein bestimmtes Objekt darstellen? Es wäre praktisch, auch diese automatisch zu instanziieren:

<input type="checkbox" name="tags[]" value="1" />
<input type="checkbox" name="tags[]" value="2" />
...

Gibt es eine Möglichkeit, FLOW3 zu veranlassen, automatisch die $tags Variable als Array von Tag Objekte? Etwas wie:

public function setTagsAction(Post $post, /** @var Model\Tag */ array $tags) {
    $post->setTags($tags);
}

2voto

/**
 * @param Post $post
 * @param \Doctrine\Common\Collections\ArrayCollection<\your\namespace\Model\Tag> $tag
 */

public function setTagsAction(Post $post, $tags) { ...

afaik konvertiert Doctrine Ihr Array in eine Sammlung mit Objekten, die durch das angegebene Array abgebildet werden

0voto

Shinto Joseph Punkte 1029

Das Wortfeld vor $tags entfernen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X