【发布时间】:2014-03-19 13:43:44
【问题描述】:
我正在尝试将所有 FOSUserBundle 表单嵌入到布局左侧的边栏中。
这是我的src/My/MainBundle/Resources/config/routing.yml:
index:
pattern: /
defaults: { _controller: MyMainBundle:Main:index }
login:
pattern: /login
defaults: { _controller: MyMainBundle:Main:index }
resetting_request:
pattern: /resetting/request
defaults: { _controller: MyMainBundle:Main:index }
resetting_send_email:
pattern: /resetting/send-email
defaults: { _controller: MyMainBundle:Main:index }
在src/My/MainBundle/Resources/views/layout.html.twig,我有(除其他外):
<div id="sidebar">
{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
<p>You are logged in blah blah blah</p>
{% elseif app.request.attributes.get('_route') == 'resetting_request' %}
{{ render(controller('FOSUserBundle:Resetting:request')) }}
{% elseif app.request.attributes.get('_route') == 'resetting_send_email' %}
{{ render(controller('FOSUserBundle:Resetting:sendEmail')) }}
{% else %}
{{ render(controller('FOSUserBundle:Security:login')) }}
{% endif %}
</div>
登录表单工作正常,它提交到 /login_check,然后重定向到请求的页面,如果登录名和密码正确,或者,如果登录名或密码错误,它重定向到 /login(在那个如果它在侧边栏中正确显示表单,并带有相应的错误消息)。
我遇到了“忘记密码?”的问题不过形式。
它显示在侧边栏中,并提交到 /resetting/send-email,但随后它不会重定向到任何东西。然后它告诉我用户名或电子邮件“”不存在。
如果我评论“resetting_send_email”路由,那么“send email”操作有效,但输出不在侧边栏中(事实上,它周围甚至没有布局)。
有什么想法吗?
【问题讨论】:
-
您是否在会话处理程序中使用 PDO?
-
不,我使用的是默认会话处理程序。
-
我刚刚意识到您的问题。看答案..
标签: forms symfony fosuserbundle