Bonjour,
je viens de commencer le développement d'une application en utilisant symfony2,
J'ai suivi les tutoriels symfony de J. Place sur developpez.com.
J'ai une relation ManyToMany entre l'entité dossierTrancport et l'entité Lot.
je reviens vous pour m'aider à avancer.
voici mon LotForm :
voici mon DossierTransportForm:
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 class LotForm extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('numeroLot', 'text') ->add('detailLot', 'text') ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Isea\AgtsBundle\Entity\Lot' )); } public function getName() { return 'lot'; }
et voici la vue d'ajout:
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
39 class DossierTransportForm extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('client', 'entity', array( 'class' => 'Isea\AgtsBundle\Entity\Client', 'property' => 'nomSociete', 'multiple' => false, 'required' => false )) ->add('numeroContenair', 'text') ->add('numeroDocTransport', 'text') ->add('dateCreation', 'date') ->add('observation', 'text') ->add('lots', 'collection', array('type' => new LotForm(), 'allow_add' => true, 'allow_delete' => true, 'by_reference' => false)) ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Isea\AgtsBundle\Entity\DossierTransport' )); } public function getName() { return 'dossierTransport'; } }
J'arrive à insérer les données d'un objet dossierTransport, mais pas ceux de l'objet lot, en faite le le formulaire FormLot ne s'affiche meme pas, lorsque je clique sur le lien "ajouter_lot" rien ne change.
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
39
40
41
42
43
44
45
46
47
48
49
50
51 <h1>Ajouter un dossier transport</h1> {% if message %} <p>{{ message }}</p> {% endif %} <form action="" method="post" {{ form_enctype(form) }}> {{ form_widget(form) }} <a href="#" id="ajouter_lot" class="btn">Ajouter un lot</a><br /><br /> <input type="submit" /> </form> <p><a href="{{ path('isea_dossierTransport_lister') }}">Retour à la liste des dossiers transport</a></p> <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { l'attribut « data-prototype » qui nous intéresse var $container = $('#isea_agtsbundle_dossierTransport_lots'); function ajouter_lot() { index = $container.children().length; $container.append($($container.attr('dataprototype'). replace(/__name__/g, index))); $container.append($('<a href="#" id="delete_category_' + index + '" class="btn btn-danger">Supprimer</a><br /><br />')); $('#delete_category_' + index).click(function() { $(this).prev().remove(); $(this).remove(); return false; }); } if($container.children().length == 0) { ajouter_lot(); } $('#ajouter_lot').click(function() { ajouter_lot(); return false; }); }); </script>
est ce la bonne manière d'appeler la fonction javascript?
Merci d'avance.
Partager