我通过在app \ Resources \ FOSUserBundle \ views中放置layout.html.twig来覆盖FOSUserBundle的默认布局。
我还通过在相应目录中放置新文件来覆盖其他一些模板(如登录,注册和重置密码):
app\Resources\FOSUserBundle\views\layout.html.twig
app\Resources\FOSUserBundle\views\Registration\register.html.twig
app\Resources\FOSUserBundle\views\Resetting\request.html.twig
app\Resources\FOSUserBundle\views\Security\login.html.twig
我想在同一页面上呈现register-form,login-form和reset-password-form。为此,我正在使用树枝渲染控制器方法:
<div class="login" data-lbg="teal">
{{ render(controller('FOSUserBundle:Security:login')) }} // foo
{{ render(controller('FOSUserBundle:Registration:register')) }} // bar
{{ render(controller('FOSUserBundle:Resetting:request')) }} // baz
</div>
但是,这只输出单词“foo”并且不会扩展我的layout.html.twig。所以它只给了我一个带有“foo”的空白页面。
有什么东西坏了还是我做错了什么?
最佳基督教
答案 0 :(得分:0)
我创建了一个特定的控制器来渲染这三种形式,这似乎是有效的。在相应的视图脚本中:
{% extends 'FOSUserBundle::layout.html.twig' %}
{% block body %}
{{ render(controller('FOSUserBundle:Security:login')) }}
{{ render(controller('FOSUserBundle:Registration:register')) }}
{{ render(controller('FOSUserBundle:Resetting:request')) }}
{% endblock %}
不幸的是,如果存在验证错误,用户将被重定向到/ login,/ register和/ resetting / request,这些模板不会扩展登录布局。此刻,用户将获得一个带有表单的白页。 :/