12

我在这里关注文档: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

匹配文档中提到的 FOS 包结构

login.html.twig

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

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

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

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

4

2 回答 2

17

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

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

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

于 2013-11-06T02:53:51.057 回答
-3

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

{% block content %}
    {% block fos_user_content %}{% endblock fos_user_content %}
{% endblock content %}
于 2013-11-05T17:14:12.153 回答