Bonjour,
Je souhaite mettre en forme les champs d'un formulaire contenant plusieurs instances d'une même entité.
Pour l'instant j'ai ça :
https://i.postimg.cc/KvDfmV92/form.png
Mais je souhaiterais que chaque champs d'une instance soit sur la même ligne...
Et que le label soit le nom de l'instance (plutôt que la position de l'instance dans le tableau)
Le code du controller avec le createForm()
Très simple, je crée juste le formulaire en passant un collectionType contenant les données des jeux :
public function editAllGames(Request $request, GamesRepository $gamesRepository): Response
{
// recupere 100 jeux
$games = $gamesRepository->getAll();
$form = $this->createForm(CollectionType::class, $games, [
'entry_type' => GameType::class
])
->add('submit', SubmitType::class)
;
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$entityManager = $this->getDoctrine()->getManager();
$entityManager->flush();
return $this->redirectToRoute('admin/users/edit.html.twig');
}
return $this->render("admin/edit-all-games.html.twig", [
"form" => $form->createView(),
// "games" => $games,
]);
}
le builder qui défini les champs à modifer des instances:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => false
])
->add('type', EntityType::class, [
'label' => false,
'class' => Types::class,
'choice_label' => 'name'
])
->add('reference', TextType::class, [
'label' => false
])
;
}
que mettre entre les "balises" form_start et form_end pour pour modifier l'affichage des champs ?
{{ form_start(form) }}
???
{{ form_end(form) }}
Merci d'avance pour votre aide !