Bonjour,
En train de développer un petit forum.Pour un post A je dois avoir au dessous les réponses associés et un petit ckeditor pour une nouvelle réponse.
Réellement comment je peut récupérer le post concerné pour l'affecter a une nouvelle réponse ?
J'ai pensé à récupérer l'id du post à partir de l'url , peut être récupérer le slug même ..
Une autre façon de faire , c’est de stocker le dernier route dans la session et ensuite je continue.
Apres des recherches , j'ai trouvé le code en bas .. maintenant je sais plus comment continuer .

merci d'avance .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
services:
    smf_example.last_route_event_listener:
        class: SmfBlog\ExampleBundle\EventListener\LastRouteListener
        tags:
            - { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 30 }


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 SmfBlog\ExampleBundle\EventListener;
 
use Symfony\Component\HttpFoundation\Session;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\HttpKernel;
 
class LastRouteListener
{
 
    public function onKernelRequest(GetResponseEvent $event)
    {
        // Do not save subrequests
        if ($event->getRequestType() !== HttpKernel::MASTER_REQUEST) {
            return;
        }
 
        $request = $event->getRequest();
        $session = $request->getSession();
 
        $routeName = $request->get('_route');
        $routeParams = $request->get('_route_params');
        if ($routeName[0] == '_') {
            return;
        }
        $routeData = ['name' => $routeName, 'params' => $routeParams];
 
        // Do not save same matched route twice
        $thisRoute = $session->get('this_route', []);
        if ($thisRoute == $routeData) {
            return;
        }
        $session->set('last_route', $thisRoute);
        $session->set('this_route', $routeData);
    }
}