Bonjour,
Voilà mon problème:
Je fais un appel ajax pour passer un statut 0 à un statut 1 (0 = mon article n' est pas prêt, et 1 = mon article est prêt), ça fonctionne mais le statut s' applique à toute ma liste d' articles (il passent tous à 1...) logique tout est dans la boucle. Mais je ne trouve pas comment contourner le problème, je souhaite avoir que l' article que je clique à 1.
Merci d' avance pour votre aide.
Voici ma vue twig:
Code twig : 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 {% for panier in array %} {% for article in panier%} <a id="envoyer" href="">Click</a> <div class="col-lg-1 col-sm-1"> <script> $("#envoyer").ready(function(){ $.ajax({ url : '{{ path('validArticleNoel', {'articleId': article.id}) }}', type : 'GET' }) }); </script> </div> <div class="col-lg-2 col-sm-2"> {{ article.article.nom |truncate(20) }} </div> <div class="col-lg-1 col-sm-1"> {{ article.nombre }} </div> <div class="col-lg-1 col-sm-1"> {% if article.quantite %} {{ article.quantite }} kg {% endif %} </div> <div class="col-lg-2 col-sm-2"> {% if article.preparation != 'RAS' %} {{ article.preparation }} {% endif %} </div> <div class="col-lg-2 col-sm-2"> {{ article.remarques }} </div> </div> {% endfor %} <hr> {% endfor %}
Mon contrôleur:
Et une capture de ma vue:
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 ValidArticleNoelController * @package App\Controller\Noel * @Route("validArticleNoel/{articleId}", name="validArticleNoel") */ class ValidArticleNoelController extends AbstractController { public function __invoke($articleId, Request $request) { $article = $this ->getDoctrine() ->getManager() ->getRepository(ArticleVendu::class) ->find($articleId); $article->setFait(1); $manager = $this->getDoctrine()->getManager(); $manager->persist($article); $manager->flush(); // return $this->redirect($_SERVER['HTTP_REFERER']); } }
Partager