Quantcast
Channel: Grafikart | Derniers Sujets du forum
Viewing all articles
Browse latest Browse all 1542

[FosUserBundle] Rediriger utilisateur après inscription

$
0
0
Bonjour,

Après avoir tourné en rond pas mal de temps autour du sujet, je me décide à poser ma question sur le forum.

J'utilise le fosuserbundle pour gérer mais utilisateurs et j'aimerais customiser les vues et actions pour les adapter à mon site perso.

Via une page d'inscription, j'ai réussi sans problème à inclure le template formulaire d'inscription.

Le problème c'est que mon formulaire d'inscription, une fois la validation faite redirige par défaut vers la route /register/confirmed, or, je souhaite lorsque l'inscription est validée être redirigé vers la page que je souhaite configurer (par exemple admettons ma page d'accueil)

J'ai vu pour cela que l'on pouvait utiliser un événement "RegistrationConfirmListener", cependant, je n'arrive pas du toutà le mettre en place, je suis toujours redirigé vers ma page /register/confirmed

Voici l'événement que j'ai créé :

<?php

namespace MyApp\UserBundle\EventListener;

use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

class RegistrationConfirmListener implements EventSubscriberInterface
{
    private $router;

    public function __construct(UrlGeneratorInterface $router)
    {
        $this->router = $router;
    }

    /**
     * {@inheritDoc}
     */
    public static function getSubscribedEvents()
    {
        return array(
                FOSUserEvents::REGISTRATION_CONFIRM => 'onRegistrationConfirm'
        );
    }

    public function onRegistrationConfirm(GetResponseUserEvent $event)
    {
        $url = $this->router->generate('ma_page_d_index');

        $event->setResponse(new RedirectResponse($url));
    }
}
?>



et le service, dans MyApp/UserBundle/routing/config/services.yml :

services:
    europe_user.registration_complet:
         class: Europe\UserBundle\EventListener\RegistrationConfirmListener
         tags:
           - { name: kernel.event_suscriber }


En tout cas comme cela, ça ne fonctionne pas, il me faudrait de l'aide.

Merci par avance.

Viewing all articles
Browse latest Browse all 1542

Trending Articles