doushu9253 2017-04-10 12:52
浏览 43
已采纳

在使用FOSUserBundle注册后,如何重定向到动态自定义路由

I've been looking for a while for this, but can't find the answer.

Expected behavior:

  • User goes on a product page
  • User wants to buy the product, so he needs to login / register (with a modal)
  • User doesn't have an account so he registers
  • After registration (there is no email confirmation), user is signed in and redirected to the current product page
  • User can proceed to checkout, etc...

This behavior is working in the case of a login, with the use of the _target_path parameter in the form.

However, this parameter does not apply in registration. This is kinda annoying, where did I miss something out ? I am looking into implementing a Listener on the registration success event but it seems really odd to not being as simple as for the login form.

Edit: found my solution, see my own answer below

  • 写回答

2条回答 默认 最新

  • dongwu3747 2017-04-10 13:34
    关注

    Answering for those wondering too.

    TL;DR : the registration process does not follow the login's

    Thanks to @yceruto for the comment.

    I made a quick listener on the REGISTRATION_SUCCESS event:

    /**
     * @param FormEvent $event
     */
    public function redirectOnRegistration(FormEvent $event)
    {
        $route = $event->getRequest()->headers->get('referer', $this->router->generate('homepage'));
        $response = new RedirectResponse($route);
        $event->setResponse($response);
    }
    

    (I redirect on homepage if there is no referer).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab