Bonjour,
J'ai un formulaire qui fonctionne comme je le souhaite.
Maintenant je souhaite modifier le rendu mais ça coince....
Avec le code suivant pas de soucis....
Voici le formtype que j'appelle depuis le contrôleur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part {{ form_widget(form) }}
Puis les sous-formulaires :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 <?php namespace Opengen\GeoBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Opengen\GeoBundle\Form\PaysHistoriqueInitialeType; use Opengen\GeoBundle\Form\PaysHistoriqueNomType; use Opengen\GeoBundle\Form\PaysHistoriqueNomClassementType; class PaysType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('Initiales', 'collection', array('type' => new PaysHistoriqueInitialeType(), 'required' => true)) ->add('Noms', 'collection', array('type' => new PaysHistoriqueNomType(), 'required' => true)) ->add('NomClassements', 'collection', array('type' => new PaysHistoriqueNomClassementType(), 'required' => true)) ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Opengen\GeoBundle\Entity\Pays', 'cascade_validation' => true, )); } public function getName() { return 'geo_paystype'; } }
paysHistoriqueNom
Les autres sous-formulaires suivent la même logique que celui ci dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php namespace Opengen\GeoBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class PaysHistoriqueNomType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('nom') ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Opengen\GeoBundle\Entity\PaysHistoriqueNom' )); } public function getName() { return 'opengen_geobundle_payshistoriquenomtype'; } }
Je pensais naïvement récupérer les widgets grâce à un code du genre
Mais je me retrouve avec l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 {{ form_errors(form) }} <div> {{ form_errors(Initiales) }} {{ form_widget(Initiales) }} {{ form_label(Initiales, "Initiale du pays") }} </div>
Il ya un truc qui m'échappe non ?Variable "Initiales" does not exist in OpengenGeoBundle:Geo:ajouter_pays.html.twig at line 28
Merci pour voter aide.
Partager