我遵循此处的文档: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 %}
当我进入登录页面时,我的标题加载正常,但是没有登录表单,出错了什么?
答案 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 %}