Bonjour,
J'ai un problème avec l'affichage du formulaire lors de l'utilisation de CollectionType. Il n'affiche pas les champs de AchatType, mais juste le label "Achats"
Je ne comprends pas.. voici mon code :
AchatType :
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('civilite', ChoiceType::class, [
'choices' => [
'Mr' => 'Mr',
'Mme' => 'Mme'
]])
->add('nom', TextType::class)
->add('prenom', TextType::class)
->add('commande', EntityType::class, array(
'class' => 'AppBundle\Entity\Commande',
))
;
}
CommandeType :
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nb_ticket', ChoiceType::class, [
'choices' => [
1 => '1',
2 => '2',
3 => '3',
4 => '4',
5 => '5',
6 => '6',
],
'label' => false,
'expanded' => true,
'multiple' => false,
])
->add('event', EntityType::class, array(
'class' => 'AppBundle\Entity\Event',
))
->add('email', EmailType::class)
->add('achats', CollectionType::class, array(
'entry_type' => AchatType::class,
))
// ->add('achats', AchatType::class)
;
}
et ma vue :
<div class="text-center">
{{ form_start(form) }}
{% for index, nb_ticket in form.nb_ticket.children %}
{{ form_widget(nb_ticket)}}
{{ form_label(nb_ticket) }}
{% endfor %}</div><div style="display:none">
{{ form_widget(form.event) }}</div><!-- ======== ETAPE 2 ======== -->
{% if form.achats.civilite is defined %}
{{ form_widget(form.achats.civilite) }}
{{ form_widget(form.achats.prenom, {'attr':{ "placeholder":"Prenom" }}) }}
{{ form_widget(form.achats.nom, {'attr':{ "placeholder":"Nom" }}) }}<div style="display:none">
{{ form_widget(form.achats.commande) }}</div>
{% endif %}<div class="text-white text-center">
{{ form_widget(form.email, {'attr':{ "placeholder":"Email" }})}}</div>
{{ form_end(form) }}
J'ai l'impression que tout ce qui se trouve dans form.achats ne sont pas défini.. je suis perdu,je ne comprend pas comment je pourrai faire en sorte que ça s'affiche..
Je vous remercie pour vos réponses, et je répondrai au plus tôt