覆盖FOSUserBundle登录表单

时间:2013-11-05 15:38:44

标签: symfony fosuserbundle

我遵循此处的文档:https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_templates.rst

我选择创建一个子包和覆盖模板,所以在我的包中我有

class MyBundle extends Bundle
{
    //declare bundle as a child of the FOSUserBundle so we can override the parent bundle's templates
    public function getParent()
    {
        return 'FOSUserBundle';
    }

}

在我的包中,我添加了以下文件

MyBundle
      \Resources
               \views
                     \Security
                      login.html.twig

匹配文档

中提到的F​​OS捆绑结构

login.html.twig

{% extends 'AnotherBundle::layout.html.twig' %}

{% block title %}Log In{% endblock %}

{% block content %}
    {% block fos_user_content %}{% endblock %}
{% endblock %}

当我进入登录页面时,我的标题加载正常,但是没有登录表单,出错了什么?

2 个答案:

答案 0 :(得分:16)

因为您没有编写呈现登录表单的代码。

打开/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/views/Security/login.html.twig,将fos_user_content块中的代码复制到自定义login.html.twig,重新加载页面,然后您就会看到该表单。

如果要自定义表单,请重写您复制的代码。

答案 1 :(得分:-3)

当你有嵌套块时,你需要明确告诉你要关闭哪个块。所以,试试这个:

{% block content %}
    {% block fos_user_content %}{% endblock fos_user_content %}
{% endblock content %}
相关问题