2013-10-11 3 views
1

Я пытаюсь сделать перенаправление после регистратора, как here, но моя функция onRegistrationConfirm() Event не выполняется во время регистрации. Мой код аналогичен этому в ответ. Я просто не знаю, есть ли что-то еще, чтобы заставить мое мероприятие работать. Я новичок в symfony, так что это может быть очень легко.Symfony2 FOSUserBundle FOSUserEvents

+1

ли импортировать вас в 'services.yml' в главном' config.yml' файле? – 1ed

+0

Я отредактировал сообщение, потому что я ошибся - вызывается getSubscribedEvents(), но мое событие не является. И да ... У меня есть импорт услуг в config.yml – user1838937

ответ

2

OK ... так Я думаю, что это не такая вещь, как FOSUserEvents :: REGISTRATION_CONFIRM, нет ничего об этом here. Но я обнаружил там событие REGISTRATION_SUCCESS, которое явно то, что я искал.

Так что мой код выглядит следующим образом:

class RegistrationConfirmListener implements EventSubscriberInterface 
{ 
private $router; 

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

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

public function onRegistrationSuccess(\FOS\UserBundle\Event\FormEvent $event) 
{ 
    $url = $this->router->generate('my_route'); 
    $event->setResponse(new RedirectResponse($url)); 
} 
} 
Смежные вопросы